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 Object implements MethodGraph.Linked
A simple implementation of a linked method graph that exposes views by delegation to given method graphs.
  • Field Details

    • 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 Map<TypeDescription,MethodGraph> interfaceGraphs
      A mapping of method graphs of the represented type's directly implemented interfaces to their graph representatives.
  • Constructor Details

    • Delegation

      public Delegation(MethodGraph methodGraph, MethodGraph superClassGraph, 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 Details

    • getSuperClassGraph

      public MethodGraph getSuperClassGraph()
      Returns a graph representing the view on this represented type's super type.
      Specified by:
      getSuperClassGraph in interface MethodGraph.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 interface MethodGraph.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

      Locates a node in this graph which represents the provided method token.
      Specified by:
      locate in interface MethodGraph
      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 interface MethodGraph
      Returns:
      A list of all nodes of this method graph.