Package org.codehaus.groovy.ast
Interface NodeMetaDataHandler
-
- All Known Implementing Classes:
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
,CompileUnit.ConstructedOuterNestedClassNode
,ConstantExpression
,ConstructorCallExpression
,ConstructorNode
,ContinueStatement
,DeclarationExpression
,DecompiledClassNode
,DoWhileStatement
,ElvisOperatorExpression
,EmptyExpression
,EmptyStatement
,EnumConstantClassNode
,Expression
,ExpressionAsVariableSlot
,ExpressionStatement
,ExtensionMethodNode
,FieldExpression
,FieldNode
,ForStatement
,GenericsType
,GroovyParser.AdditiveExprAltContext
,GroovyParser.AndExprAltContext
,GroovyParser.AnnotatedQualifiedClassNameContext
,GroovyParser.AnnotationContext
,GroovyParser.AnnotationNameContext
,GroovyParser.AnnotationsOptContext
,GroovyParser.AnonymousInnerClassDeclarationContext
,GroovyParser.ArgumentsContext
,GroovyParser.ArrayInitializerContext
,GroovyParser.AssertStatementContext
,GroovyParser.AssertStmtAltContext
,GroovyParser.AssignmentExprAltContext
,GroovyParser.BlockContext
,GroovyParser.BlockStatementContext
,GroovyParser.BlockStatementsContext
,GroovyParser.BlockStatementsOptContext
,GroovyParser.BlockStmtAltContext
,GroovyParser.BooleanLiteralAltContext
,GroovyParser.BreakStatementContext
,GroovyParser.BreakStmtAltContext
,GroovyParser.BuiltInTypeContext
,GroovyParser.BuiltInTypePrmrAltContext
,GroovyParser.CastExprAltContext
,GroovyParser.CastParExpressionContext
,GroovyParser.CatchClauseContext
,GroovyParser.CatchTypeContext
,GroovyParser.ClassBodyContext
,GroovyParser.ClassBodyDeclarationContext
,GroovyParser.ClassDeclarationContext
,GroovyParser.ClassicalForControlContext
,GroovyParser.ClassNameContext
,GroovyParser.ClassOrInterfaceModifierContext
,GroovyParser.ClassOrInterfaceModifiersContext
,GroovyParser.ClassOrInterfaceModifiersOptContext
,GroovyParser.ClassOrInterfaceTypeContext
,GroovyParser.ClosureContext
,GroovyParser.ClosureOrLambdaExpressionContext
,GroovyParser.ClosureOrLambdaExpressionPrmrAltContext
,GroovyParser.CommandArgumentContext
,GroovyParser.CommandExprAltContext
,GroovyParser.CommandExpressionContext
,GroovyParser.CompilationUnitContext
,GroovyParser.ConditionalExprAltContext
,GroovyParser.ConditionalStatementContext
,GroovyParser.ConditionalStmtAltContext
,GroovyParser.ContinueStatementContext
,GroovyParser.ContinueStmtAltContext
,GroovyParser.CreatedNameContext
,GroovyParser.CreatorContext
,GroovyParser.DimContext
,GroovyParser.DoWhileStmtAltContext
,GroovyParser.DynamicMemberNameContext
,GroovyParser.ElementValueArrayInitializerContext
,GroovyParser.ElementValueContext
,GroovyParser.ElementValuePairContext
,GroovyParser.ElementValuePairNameContext
,GroovyParser.ElementValuePairsContext
,GroovyParser.ElementValuesContext
,GroovyParser.EmptyDimsContext
,GroovyParser.EmptyDimsOptContext
,GroovyParser.EmptyStmtAltContext
,GroovyParser.EnhancedArgumentListContext
,GroovyParser.EnhancedArgumentListElementContext
,GroovyParser.EnhancedForControlContext
,GroovyParser.EnhancedStatementExpressionContext
,GroovyParser.EnumConstantContext
,GroovyParser.EnumConstantsContext
,GroovyParser.EqualityExprAltContext
,GroovyParser.ExclusiveOrExprAltContext
,GroovyParser.ExpressionContext
,GroovyParser.ExpressionInParContext
,GroovyParser.ExpressionListContext
,GroovyParser.ExpressionListElementContext
,GroovyParser.ExpressionStmtAltContext
,GroovyParser.FieldDeclarationContext
,GroovyParser.FinallyBlockContext
,GroovyParser.FloatingPointLiteralAltContext
,GroovyParser.ForControlContext
,GroovyParser.ForInitContext
,GroovyParser.FormalParameterContext
,GroovyParser.FormalParameterListContext
,GroovyParser.FormalParametersContext
,GroovyParser.ForStmtAltContext
,GroovyParser.ForUpdateContext
,GroovyParser.GroovyParserRuleContext
,GroovyParser.GstringContext
,GroovyParser.GstringPathContext
,GroovyParser.GstringPrmrAltContext
,GroovyParser.GstringValueContext
,GroovyParser.IdentifierContext
,GroovyParser.IdentifierPrmrAltContext
,GroovyParser.IfElseStatementContext
,GroovyParser.ImportDeclarationContext
,GroovyParser.InclusiveOrExprAltContext
,GroovyParser.IndexPropertyArgsContext
,GroovyParser.IntegerLiteralAltContext
,GroovyParser.KeywordsContext
,GroovyParser.LabeledStmtAltContext
,GroovyParser.LambdaBodyContext
,GroovyParser.ListContext
,GroovyParser.ListPrmrAltContext
,GroovyParser.LiteralContext
,GroovyParser.LiteralPrmrAltContext
,GroovyParser.LocalVariableDeclarationContext
,GroovyParser.LocalVariableDeclarationStmtAltContext
,GroovyParser.LogicalAndExprAltContext
,GroovyParser.LogicalOrExprAltContext
,GroovyParser.LoopStatementContext
,GroovyParser.LoopStmtAltContext
,GroovyParser.MapContext
,GroovyParser.MapEntryContext
,GroovyParser.MapEntryLabelContext
,GroovyParser.MapEntryListContext
,GroovyParser.MapPrmrAltContext
,GroovyParser.MemberDeclarationContext
,GroovyParser.MethodBodyContext
,GroovyParser.MethodDeclarationContext
,GroovyParser.MethodDeclarationStmtAltContext
,GroovyParser.MethodNameContext
,GroovyParser.ModifierContext
,GroovyParser.ModifiersContext
,GroovyParser.ModifiersOptContext
,GroovyParser.MultipleAssignmentExprAltContext
,GroovyParser.MultiplicativeExprAltContext
,GroovyParser.NamedPropertyArgsContext
,GroovyParser.NamePartContext
,GroovyParser.NewPrmrAltContext
,GroovyParser.NlsContext
,GroovyParser.NonWildcardTypeArgumentsContext
,GroovyParser.NullLiteralAltContext
,GroovyParser.PackageDeclarationContext
,GroovyParser.ParenPrmrAltContext
,GroovyParser.ParExpressionContext
,GroovyParser.PathElementContext
,GroovyParser.PathExpressionContext
,GroovyParser.PostfixExprAltContext
,GroovyParser.PostfixExpressionContext
,GroovyParser.PowerExprAltContext
,GroovyParser.PrimaryContext
,GroovyParser.PrimitiveTypeContext
,GroovyParser.QualifiedClassNameContext
,GroovyParser.QualifiedClassNameListContext
,GroovyParser.QualifiedNameContext
,GroovyParser.QualifiedNameElementContext
,GroovyParser.QualifiedNameElementsContext
,GroovyParser.QualifiedStandardClassNameContext
,GroovyParser.RegexExprAltContext
,GroovyParser.RelationalExprAltContext
,GroovyParser.ResourceContext
,GroovyParser.ResourceListContext
,GroovyParser.ResourcesContext
,GroovyParser.ReturnStmtAltContext
,GroovyParser.ReturnTypeContext
,GroovyParser.RparenContext
,GroovyParser.ScriptStatementContext
,GroovyParser.ScriptStatementsContext
,GroovyParser.SepContext
,GroovyParser.ShiftExprAltContext
,GroovyParser.StandardLambdaExpressionContext
,GroovyParser.StandardLambdaParametersContext
,GroovyParser.StatementContext
,GroovyParser.StatementExpressionContext
,GroovyParser.StringLiteralAltContext
,GroovyParser.StringLiteralContext
,GroovyParser.SuperPrmrAltContext
,GroovyParser.SwitchBlockStatementGroupContext
,GroovyParser.SwitchLabelContext
,GroovyParser.SwitchStatementContext
,GroovyParser.SynchronizedStmtAltContext
,GroovyParser.ThisFormalParameterContext
,GroovyParser.ThisPrmrAltContext
,GroovyParser.ThrowStmtAltContext
,GroovyParser.TryCatchStatementContext
,GroovyParser.TryCatchStmtAltContext
,GroovyParser.TypeArgumentContext
,GroovyParser.TypeArgumentsContext
,GroovyParser.TypeArgumentsOrDiamondContext
,GroovyParser.TypeBoundContext
,GroovyParser.TypeContext
,GroovyParser.TypeDeclarationContext
,GroovyParser.TypeListContext
,GroovyParser.TypeNamePairContext
,GroovyParser.TypeNamePairsContext
,GroovyParser.TypeParameterContext
,GroovyParser.TypeParametersContext
,GroovyParser.UnaryAddExprAltContext
,GroovyParser.UnaryNotExprAltContext
,GroovyParser.VariableDeclarationContext
,GroovyParser.VariableDeclaratorContext
,GroovyParser.VariableDeclaratorIdContext
,GroovyParser.VariableDeclaratorsContext
,GroovyParser.VariableInitializerContext
,GroovyParser.VariableInitializersContext
,GroovyParser.VariableModifierContext
,GroovyParser.VariableModifiersContext
,GroovyParser.VariableModifiersOptContext
,GroovyParser.VariableNamesContext
,GroovyParser.WhileStmtAltContext
,GStringExpression
,IfStatement
,ImportNode
,InnerClassNode
,InterfaceHelperClassNode
,LambdaExpression
,ListExpression
,ListOfExpressionsExpression
,MapEntryExpression
,MapExpression
,MethodCallExpression
,MethodNode
,MethodPointerExpression
,MethodReferenceExpression
,MixinNode
,ModifierNode
,ModuleNode
,NamedArgumentListExpression
,NotExpression
,PackageNode
,Parameter
,PostfixExpression
,PrefixExpression
,PropertyExpression
,PropertyNode
,RangeExpression
,ReturnStatement
,SpreadExpression
,SpreadMapExpression
,Statement
,StaticMethodCallExpression
,SwitchStatement
,SynchronizedStatement
,TemporaryVariableExpression
,TernaryExpression
,ThrowStatement
,TryCatchStatement
,TupleExpression
,UnaryMinusExpression
,UnaryPlusExpression
,VariableExpression
,VariableSlotLoader
,WhileStatement
,WideningCategories.LowestUpperBoundClassNode
public interface NodeMetaDataHandler
An interface to mark a node being able to handle metadata.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
copyNodeMetaData(NodeMetaDataHandler other)
Copies all node meta data from the other node to this oneMap<?,?>
getMetaDataMap()
default Map<?,?>
getNodeMetaData()
Returns an unmodifiable view of the current node metadata.default <T> T
getNodeMetaData(Object key)
Gets the node meta data.default <T> T
getNodeMetaData(Object key, Function<?,? extends T> valFn)
Gets the node meta data.default Object
putNodeMetaData(Object key, Object value)
Sets the node meta data but allows overwriting values.default void
removeNodeMetaData(Object key)
Removes a node meta data entry.void
setMetaDataMap(Map<?,?> metaDataMap)
default void
setNodeMetaData(Object key, Object value)
Sets the node meta data.
-
-
-
Method Detail
-
getNodeMetaData
default <T> T getNodeMetaData(Object key)
Gets the node meta data.- Parameters:
key
- the meta data key- Returns:
- the node meta data value for this key
-
getNodeMetaData
default <T> T getNodeMetaData(Object key, Function<?,? extends T> valFn)
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
default void copyNodeMetaData(NodeMetaDataHandler other)
Copies all node meta data from the other node to this one- Parameters:
other
- the other node
-
setNodeMetaData
default void setNodeMetaData(Object key, Object value)
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
default Object putNodeMetaData(Object key, Object value)
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
default void removeNodeMetaData(Object key)
Removes a node meta data entry.- Parameters:
key
- the meta data key- Throws:
GroovyBugError
- if the key is null
-
getNodeMetaData
default Map<?,?> getNodeMetaData()
Returns an unmodifiable view of the current node metadata.- Returns:
- the node metadata. Always not null.
-
getMetaDataMap
Map<?,?> getMetaDataMap()
-
setMetaDataMap
void setMetaDataMap(Map<?,?> metaDataMap)
-
-