Package org.codehaus.groovy.ast
Interface NodeMetaDataHandler
- All Known Implementing Classes:
 AbstractGinqExpression,AnnotatedNode,AnnotationConstantExpression,AnnotationNode,ArgumentListExpression,ArrayExpression,AssertStatement,ASTNode,AttributeExpression,BinaryExpression,BitwiseNegationExpression,BlockStatement,BooleanExpression,BreakStatement,BytecodeExpression,BytecodeSequence,CaseStatement,CastExpression,CatchStatement,ClassExpression,ClassNode,ClosureExpression,ClosureListExpression,CompareIdentityExpression,CompareToNullExpression,CompileUnit,ConstantExpression,ConstructorCallExpression,ConstructorNode,ContinueStatement,DataSourceExpression,DeclarationExpression,DecompiledClassNode,DoWhileStatement,ElvisOperatorExpression,EmptyExpression,EmptyStatement,EnumConstantClassNode,Expression,ExpressionAsVariableSlot,ExpressionStatement,ExtensionMethodNode,FieldExpression,FieldNode,FilterExpression,ForStatement,FromExpression,GenericsType,GinqExpression,GroupExpression,GStringExpression,HavingExpression,IfStatement,ImportNode,InnerClassNode,InterfaceHelperClassNode,JoinExpression,LambdaExpression,LimitExpression,ListExpression,ListOfExpressionsExpression,MapEntryExpression,MapExpression,MethodCallExpression,MethodNode,MethodPointerExpression,MethodReferenceExpression,MixinNode,ModifierNode,ModuleNode,NamedArgumentListExpression,NotExpression,OnExpression,OrderExpression,PackageNode,Parameter,PostfixExpression,PrefixExpression,ProcessExpression,PropertyExpression,PropertyNode,RangeExpression,RecordComponentNode,ReturnStatement,SelectExpression,ShutdownExpression,SpreadExpression,SpreadMapExpression,Statement,StaticMethodCallExpression,SwitchStatement,SynchronizedStatement,TemporaryVariableExpression,TernaryExpression,ThrowStatement,TryCatchStatement,TupleExpression,UnaryMinusExpression,UnaryPlusExpression,VariableExpression,VariableSlotLoader,WhereExpression,WhileStatement,WideningCategories.LowestUpperBoundClassNode
public interface NodeMetaDataHandler
An interface to mark a node being able to handle metadata.
- 
Method Summary
Modifier and TypeMethodDescriptiondefault voidCopies all node meta data from the other node to this oneMap<?,?> default Map<?,?> Returns an unmodifiable view of the current node metadata.default <T> TgetNodeMetaData(Object key) Gets the node meta data.default <T> TgetNodeMetaData(Object key, Function<?, ? extends T> valFn) Gets the node meta data.default ObjectputNodeMetaData(Object key, Object value) Sets the node meta data but allows overwriting values.default voidremoveNodeMetaData(Object key) Removes a node meta data entry.voidsetMetaDataMap(Map<?, ?> metaDataMap) default voidsetNodeMetaData(Object key, Object value) Sets the node meta data. 
- 
Method Details
- 
getNodeMetaData
Gets the node meta data.- Parameters:
 key- the meta data key- Returns:
 - the node meta data value for this key
 
 - 
getNodeMetaData
Gets the node meta data.- Parameters:
 key- the meta data keyvalFn- the meta data value supplier- Returns:
 - the node meta data value for this key
 
 - 
copyNodeMetaData
Copies all node meta data from the other node to this one- Parameters:
 other- the other node
 - 
setNodeMetaData
Sets the node meta data.- Parameters:
 key- the meta data keyvalue- the meta data value- Throws:
 GroovyBugError- if key is null or there is already meta data under that key
 - 
putNodeMetaData
Sets the node meta data but allows overwriting values.- Parameters:
 key- the meta data keyvalue- the meta data value- Returns:
 - the old node meta data value for this key
 - Throws:
 GroovyBugError- if key is null
 - 
removeNodeMetaData
Removes a node meta data entry.- Parameters:
 key- the meta data key- Throws:
 GroovyBugError- if the key is null
 - 
getNodeMetaData
Returns an unmodifiable view of the current node metadata.- Returns:
 - the node metadata. Always not null.
 
 - 
getMetaDataMap
Map<?,?> getMetaDataMap() - 
setMetaDataMap
 
 -