Package net.bytebuddy.dynamic.scaffold
Class MethodGraph.Linked.Delegation
- java.lang.Object
-
- net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation
-
- All Implemented Interfaces:
MethodGraph
,MethodGraph.Linked
- Enclosing interface:
- MethodGraph.Linked
@Enhance public static class MethodGraph.Linked.Delegation extends java.lang.Object implements MethodGraph.Linked
A simple implementation of a linked method graph that exposes views by delegation to given method graphs.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.MethodGraph
MethodGraph.Compiler, MethodGraph.Empty, MethodGraph.Linked, MethodGraph.Node, MethodGraph.NodeList, MethodGraph.Simple
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.MethodGraph.Linked
MethodGraph.Linked.Delegation
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<TypeDescription,MethodGraph>
interfaceGraphs
A mapping of method graphs of the represented type's directly implemented interfaces to their graph representatives.private MethodGraph
methodGraph
The represented type's method graph.private MethodGraph
superClassGraph
The super class's method graph.
-
Constructor Summary
Constructors Constructor Description Delegation(MethodGraph methodGraph, MethodGraph superClassGraph, java.util.Map<TypeDescription,MethodGraph> interfaceGraphs)
Creates a new delegation method graph.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MethodGraph
getInterfaceGraph(TypeDescription typeDescription)
Returns a graph representing the view on this represented type's directly implemented interface type.MethodGraph
getSuperClassGraph()
Returns a graph representing the view on this represented type's super type.MethodGraph.NodeList
listNodes()
Lists all nodes of this method graph.MethodGraph.Node
locate(MethodDescription.SignatureToken token)
Locates a node in this graph which represents the provided method token.
-
-
-
Field Detail
-
methodGraph
private final MethodGraph methodGraph
The represented type's method graph.
-
superClassGraph
private final MethodGraph superClassGraph
The super class's method graph.
-
interfaceGraphs
private final java.util.Map<TypeDescription,MethodGraph> interfaceGraphs
A mapping of method graphs of the represented type's directly implemented interfaces to their graph representatives.
-
-
Constructor Detail
-
Delegation
public Delegation(MethodGraph methodGraph, MethodGraph superClassGraph, java.util.Map<TypeDescription,MethodGraph> interfaceGraphs)
Creates a new delegation method graph.- Parameters:
methodGraph
- The represented type's method graph.superClassGraph
- The super class's method graph.interfaceGraphs
- A mapping of method graphs of the represented type's directly implemented interfaces to their graph representatives.
-
-
Method Detail
-
getSuperClassGraph
public MethodGraph getSuperClassGraph()
Returns a graph representing the view on this represented type's super type.- Specified by:
getSuperClassGraph
in interfaceMethodGraph.Linked
- Returns:
- A graph representing the view on this represented type's super type.
-
getInterfaceGraph
public MethodGraph getInterfaceGraph(TypeDescription typeDescription)
Returns a graph representing the view on this represented type's directly implemented interface type.- Specified by:
getInterfaceGraph
in interfaceMethodGraph.Linked
- Parameters:
typeDescription
- The interface type for which a view is to be returned.- Returns:
- A graph representing the view on this represented type's directly implemented interface type.
-
locate
public MethodGraph.Node locate(MethodDescription.SignatureToken token)
Locates a node in this graph which represents the provided method token.- Specified by:
locate
in interfaceMethodGraph
- Parameters:
token
- A method token that represents the method to be located.- Returns:
- The node representing the given token.
-
listNodes
public MethodGraph.NodeList listNodes()
Lists all nodes of this method graph.- Specified by:
listNodes
in interfaceMethodGraph
- Returns:
- A list of all nodes of this method graph.
-
-