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>interfaceGraphsA mapping of method graphs of the represented type's directly implemented interfaces to their graph representatives.private MethodGraphmethodGraphThe represented type's method graph.private MethodGraphsuperClassGraphThe 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 MethodGraphgetInterfaceGraph(TypeDescription typeDescription)Returns a graph representing the view on this represented type's directly implemented interface type.MethodGraphgetSuperClassGraph()Returns a graph representing the view on this represented type's super type.MethodGraph.NodeListlistNodes()Lists all nodes of this method graph.MethodGraph.Nodelocate(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:
getSuperClassGraphin 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:
getInterfaceGraphin 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:
locatein 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:
listNodesin interfaceMethodGraph- Returns:
- A list of all nodes of this method graph.
-
-