ConditionalTagBehavior.java :  » XML » cambridge » cambridge » Java Open Source

Java Open Source » XML » cambridge 
cambridge » cambridge » ConditionalTagBehavior.java
package cambridge;

import cambridge.model.Expression;

import java.util.Map;

/**
 * User: erdinc
 * Date: Oct 31, 2009
 * Time: 7:10:31 PM
 */
public abstract class ConditionalTagBehavior implements TagBehavior {
   public enum ConditionType {
      FIRST,
      ALTERNATE,
      DEFAULT
   }

   final Expression expression;

   public ConditionalTagBehavior(Expression e) {
      expression = e;
   }

   public ConditionalTagBehavior() {
      expression = null;
   }

   public boolean conditionMet(Map<String, Object> bindings) throws ExpressionEvaluationException {
      return expression == null || expression.asBoolean(bindings);
   }

   public abstract ConditionType getType();

   public abstract String getValidationError();

   public Expression getExpression() {
      return expression;
   }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.