Package org.apache.commons.jexl3.parser
Class FeatureController
java.lang.Object
org.apache.commons.jexl3.parser.ParserVisitor
org.apache.commons.jexl3.internal.ScriptVisitor
org.apache.commons.jexl3.parser.FeatureController
Controls that a script only uses enabled features.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcontrolNode(JexlNode node) Perform the control on a node.private ObjectcontrolSideEffect(JexlNode node, Object data) private booleanisArrayReferenceLiteral(JexlNode child) Checks whether a node is a string or an integer.voidsetFeatures(JexlFeatures fdesc) Sets the features to controlNode.voidthrowFeatureException(int feature, JexlNode node) Throws a feature exception.protected Objectvisit(ASTAnnotation node, Object data) protected Objectvisit(ASTArrayAccess node, Object data) protected Objectvisit(ASTArrayLiteral node, Object data) protected Objectvisit(ASTAssignment node, Object data) protected Objectvisit(ASTConstructorNode node, Object data) protected Objectvisit(ASTDecrementGetNode node, Object data) protected Objectvisit(ASTDoWhileStatement node, Object data) protected Objectvisit(ASTForeachStatement node, Object data) protected Objectvisit(ASTGetDecrementNode node, Object data) protected Objectvisit(ASTGetIncrementNode node, Object data) protected Objectvisit(ASTIncrementGetNode node, Object data) protected Objectvisit(ASTMapLiteral node, Object data) protected Objectvisit(ASTMethodNode node, Object data) protected Objectvisit(ASTRangeNode node, Object data) protected Objectvisit(ASTSetAddNode node, Object data) protected Objectvisit(ASTSetAndNode node, Object data) protected Objectvisit(ASTSetDivNode node, Object data) protected Objectvisit(ASTSetLiteral node, Object data) protected Objectvisit(ASTSetModNode node, Object data) protected Objectvisit(ASTSetMultNode node, Object data) protected Objectvisit(ASTSetOrNode node, Object data) protected Objectvisit(ASTSetShiftLeftNode node, Object data) protected Objectvisit(ASTSetShiftRightNode node, Object data) protected Objectvisit(ASTSetShiftRightUnsignedNode node, Object data) protected Objectvisit(ASTSetSubNode node, Object data) protected Objectvisit(ASTSetXorNode node, Object data) protected Objectvisit(ASTTryStatement node, Object data) protected Objectvisit(ASTWhileStatement node, Object data) protected ObjectVisits a node.Methods inherited from class org.apache.commons.jexl3.internal.ScriptVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitExpression, visitScriptMethods inherited from class org.apache.commons.jexl3.parser.ParserVisitor
visit, visit
-
Field Details
-
features
The set of features.
-
-
Constructor Details
-
FeatureController
Creates a feature controller.
-
-
Method Details
-
controlNode
Perform the control on a node.Note that controlNode() does *not* visit node children in this class.
- Parameters:
node- the node to controlNode- Throws:
JexlException.Feature- if required feature is disabled
-
controlSideEffect
-
getFeatures
- Returns:
- the controlled features
-
isArrayReferenceLiteral
Checks whether a node is a string or an integer.- Parameters:
child- the child node- Returns:
- true if string / integer, false otherwise
-
setFeatures
Sets the features to controlNode.- Parameters:
fdesc- the features
-
throwFeatureException
Throws a feature exception.- Parameters:
feature- the feature codenode- the node that caused it
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visit
- Overrides:
visitin classScriptVisitor
-
visitNode
Description copied from class:ScriptVisitorVisits a node. Default implementation visits all its children.- Overrides:
visitNodein classScriptVisitor- Parameters:
node- the node to visitdata- visitor pattern argument- Returns:
- visitor pattern value
-