org.pm4j.core.pm.impl.expr
Class ExprBase<CTXT extends ExprExecCtxt>

java.lang.Object
  extended by org.pm4j.core.pm.impl.expr.ExprBase<CTXT>
All Implemented Interfaces:
Expression
Direct Known Subclasses:
AttributeExpr, MethodCallExpr, PathExpressionChain, PmVariableExpr, ScalarExpr.BooleanExpr, ScalarExpr.NullExpr, ScalarExpr.NumberExpr, ScalarExpr.StringExpr, ThisExpr

public abstract class ExprBase<CTXT extends ExprExecCtxt>
extends java.lang.Object
implements Expression


Constructor Summary
ExprBase()
           
 
Method Summary
 java.lang.Object exec(ExprExecCtxt ctxt)
           
 void execAssign(ExprExecCtxt ctxt, java.lang.Object value)
          Default implementation just throws an exception.
protected  void execAssignImpl(CTXT ctxt, java.lang.Object value)
           
protected abstract  java.lang.Object execImpl(CTXT ctxt)
           
protected  java.lang.String getPathName()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprBase

public ExprBase()
Method Detail

getPathName

protected java.lang.String getPathName()

exec

public java.lang.Object exec(ExprExecCtxt ctxt)
Specified by:
exec in interface Expression

execImpl

protected abstract java.lang.Object execImpl(CTXT ctxt)

execAssignImpl

protected void execAssignImpl(CTXT ctxt,
                              java.lang.Object value)

execAssign

public final void execAssign(ExprExecCtxt ctxt,
                             java.lang.Object value)
Default implementation just throws an exception.

Subclasses that allow value assignment should override this method.

Specified by:
execAssign in interface Expression
Parameters:
ctxt - Run time context data for the expression evaluation.
value - The value to set to the field, addressed by the path.