Class NamedVariable
java.lang.Object
com.aquima.interactions.expressions.semantics.SemanticNodeBase
com.aquima.interactions.expressions.semantics.nodes.NamedVariable
- All Implemented Interfaces:
ISemanticNode
,IVariable
A named expression is used to select a single (static) instance by name.
- Since:
- 6.4
- Author:
- O. Kerpershoek, F. van der Meer
-
Constructor Summary
ConstructorsConstructorDescriptionNamedVariable
(ISemanticTreeBuilder semantics, Position position, Identifier id, Identifier instanceName) Constructs the node with the required arguments. -
Method Summary
Modifier and TypeMethodDescriptionvoid
collectScopedObjects
(ScopedObjects resultSet) This method may be used to collect the names of the objects that need to be in scope in order to evaluate the expression of this node.This method returns an array containing the child nodes.This method returns the identifier (entity name) of the variable.getName()
This method returns the name of the instance that is referred to.This method returns the name of the entity that needs to be in scope to be able to resolve the variable.This method returns a string containing a readable representation of the variable.toString()
void
visit
(ISemanticNodeVisitor visitor) This method allows a type safe visitation of the node.Methods inherited from class com.aquima.interactions.expressions.semantics.SemanticNodeBase
addMessage, getDataType, getDomain, getMessages, getPosition, getType, hasMessage, isDerivedType, isMultivalue, setDerived, setDomain, setType, setType
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.aquima.interactions.expressions.semantics.ISemanticNode
addMessage, getDataType, getDomain, getMessages, getPosition, getType, hasMessage, isDerivedType, isMultivalue
-
Constructor Details
-
NamedVariable
public NamedVariable(ISemanticTreeBuilder semantics, Position position, Identifier id, Identifier instanceName) Constructs the node with the required arguments.- Parameters:
semantics
- Semantic builder that may be used to request type information.position
- Position information for the node.id
- The type of the entity instance that is referred to.instanceName
- The name of the entity instance that is referred to.
-
-
Method Details
-
getIdentifier
Description copied from interface:IVariable
This method returns the identifier (entity name) of the variable.- Specified by:
getIdentifier
in interfaceIVariable
- Returns:
- the identifier (entity name) of the variable.
-
getRootEntity
Description copied from interface:IVariable
This method returns the name of the entity that needs to be in scope to be able to resolve the variable.- Specified by:
getRootEntity
in interfaceIVariable
- Returns:
- the name of the entity that needs to be in scope to be able to resolve the variable.
-
getName
This method returns the name of the instance that is referred to.- Returns:
- the name of the instance that is referred to.
-
getChildNodes
Description copied from interface:ISemanticNode
This method returns an array containing the child nodes. The order of the child nodes in the array is not defined, and the array may be empty for nodes that do not have child nodes.- Specified by:
getChildNodes
in interfaceISemanticNode
- Returns:
- Array containing the child nodes of this node.
-
collectScopedObjects
Description copied from interface:ISemanticNode
This method may be used to collect the names of the objects that need to be in scope in order to evaluate the expression of this node. The object passed to the method will be enriched with the names of the objects that need to be in scope.- Specified by:
collectScopedObjects
in interfaceISemanticNode
- Parameters:
resultSet
- The object that should be used to add the names of the objects that need to be in scope to.
-
toAttributePath
Description copied from interface:IVariable
This method returns a string containing a readable representation of the variable.- Specified by:
toAttributePath
in interfaceIVariable
- Returns:
- a string containing a readable representation of the variable.
-
visit
Description copied from interface:ISemanticNode
This method allows a type safe visitation of the node. The visit method will not invoke the visitor for any child nodes.- Specified by:
visit
in interfaceISemanticNode
- Parameters:
visitor
- The visitor that should be invoked for this node.
-
toString
- Overrides:
toString
in classSemanticNodeBase
-