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 TypeMethodDescriptionvoid
controlNode
(JexlNode node) Perform the control on a node.private Object
controlSideEffect
(JexlNode node, Object data) private boolean
isArrayReferenceLiteral
(JexlNode child) Checks whether a node is a string or an integer.void
setFeatures
(JexlFeatures fdesc) Sets the features to controlNode.void
throwFeatureException
(int feature, JexlNode node) Throws a feature exception.protected Object
visit
(ASTAnnotation node, Object data) protected Object
visit
(ASTArrayAccess node, Object data) protected Object
visit
(ASTArrayLiteral node, Object data) protected Object
visit
(ASTAssignment node, Object data) protected Object
visit
(ASTConstructorNode node, Object data) protected Object
visit
(ASTDecrementGetNode node, Object data) protected Object
visit
(ASTDoWhileStatement node, Object data) protected Object
visit
(ASTForeachStatement node, Object data) protected Object
visit
(ASTGetDecrementNode node, Object data) protected Object
visit
(ASTGetIncrementNode node, Object data) protected Object
visit
(ASTIncrementGetNode node, Object data) protected Object
visit
(ASTMapLiteral node, Object data) protected Object
visit
(ASTMethodNode node, Object data) protected Object
visit
(ASTRangeNode node, Object data) protected Object
visit
(ASTSetAddNode node, Object data) protected Object
visit
(ASTSetAndNode node, Object data) protected Object
visit
(ASTSetDivNode node, Object data) protected Object
visit
(ASTSetLiteral node, Object data) protected Object
visit
(ASTSetModNode node, Object data) protected Object
visit
(ASTSetMultNode node, Object data) protected Object
visit
(ASTSetOrNode node, Object data) protected Object
visit
(ASTSetShiftLeftNode node, Object data) protected Object
visit
(ASTSetShiftRightNode node, Object data) protected Object
visit
(ASTSetShiftRightUnsignedNode node, Object data) protected Object
visit
(ASTSetSubNode node, Object data) protected Object
visit
(ASTSetXorNode node, Object data) protected Object
visit
(ASTTryStatement node, Object data) protected Object
visit
(ASTWhileStatement node, Object data) protected Object
Visits 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, visitScript
Methods 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:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visit
- Overrides:
visit
in classScriptVisitor
-
visitNode
Description copied from class:ScriptVisitor
Visits a node. Default implementation visits all its children.- Overrides:
visitNode
in classScriptVisitor
- Parameters:
node
- the node to visitdata
- visitor pattern argument- Returns:
- visitor pattern value
-