001
014
015 package com.liferay.taglib.core;
016
017 import com.liferay.portal.kernel.servlet.taglib.TagSupport;
018
019
022 public class ChooseTag extends TagSupport {
023
024 public boolean canRun() {
025 return !_ran;
026 }
027
028 @Override
029 public int doStartTag() {
030 _ran = false;
031
032 return EVAL_BODY_INCLUDE;
033 }
034
035 public void markRan() {
036 if (_ran) {
037 throw new IllegalStateException("Another subtag has already run");
038 }
039
040 _ran = true;
041 }
042
043 @Override
044 public void release() {
045 super.release();
046
047 _ran = false;
048 }
049
050 private boolean _ran;
051
052 }