Class Graph


  • public class Graph
    extends java.lang.Object
    Class dependency graph.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<java.lang.String,​Node> nodeMap  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void backtrackToParent​(ClassNode classNode, java.util.function.Function<ClassNode,​java.lang.Boolean> visitor)  
      java.util.List<ClassNode> childrenOf​(java.lang.String className)  
      FieldEntity confirmOriginField​(java.lang.String owner, java.lang.String name, java.lang.String desc)  
      MethodEntity confirmOriginMethod​(java.lang.String owner, java.lang.String name, java.lang.String desc)  
      Node get​(java.lang.String className)  
      java.lang.String getCommonSuperClass​(java.lang.String type1, java.lang.String type2)
      Returns the common super type of the two given types.
      java.util.Map<java.lang.String,​Node> getNodes()  
      boolean implementOf​(java.lang.String child, java.lang.String interfaceName)  
      java.util.List<ClassNode> implementsOf​(java.lang.String interfaceName)  
      boolean inherit​(java.lang.String child, java.lang.String parent)  
      boolean instanceofClass​(java.lang.String className, java.lang.String targetClassName)  
      boolean overridedBySubclass​(java.lang.String className, java.lang.String methodName, java.lang.String desc)
      Judge the method whether it is overrided by children.
      boolean overrideFromSuper​(java.lang.String className, java.lang.String methodName, java.lang.String desc)
      judge the method whether it overrides from superior or interfaces.
      void traverseAllChild​(ClassNode classNode, java.util.function.Consumer<ClassNode> visitor)  
      void traverseChildren​(ClassNode classNode, java.util.function.Function<ClassNode,​java.lang.Boolean> visitor)  
      void traverseChildren​(InterfaceNode interfaceNode, java.util.function.Function<Node,​java.lang.Boolean> visitor)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • nodeMap

        protected java.util.Map<java.lang.String,​Node> nodeMap
    • Method Detail

      • inherit

        public boolean inherit​(java.lang.String child,
                               java.lang.String parent)
      • get

        public Node get​(java.lang.String className)
      • getCommonSuperClass

        public java.lang.String getCommonSuperClass​(java.lang.String type1,
                                                    java.lang.String type2)
        Returns the common super type of the two given types.
        Parameters:
        type1 - the internal name of a class.
        type2 - the internal name of another class.
        Returns:
        the internal name of the common super class of the two given classes.
      • implementsOf

        public java.util.List<ClassNode> implementsOf​(java.lang.String interfaceName)
      • implementOf

        public boolean implementOf​(java.lang.String child,
                                   java.lang.String interfaceName)
      • childrenOf

        public java.util.List<ClassNode> childrenOf​(java.lang.String className)
      • instanceofClass

        public boolean instanceofClass​(java.lang.String className,
                                       java.lang.String targetClassName)
                                throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • traverseAllChild

        public void traverseAllChild​(ClassNode classNode,
                                     java.util.function.Consumer<ClassNode> visitor)
      • traverseChildren

        public void traverseChildren​(ClassNode classNode,
                                     java.util.function.Function<ClassNode,​java.lang.Boolean> visitor)
      • traverseChildren

        public void traverseChildren​(InterfaceNode interfaceNode,
                                     java.util.function.Function<Node,​java.lang.Boolean> visitor)
      • backtrackToParent

        public void backtrackToParent​(ClassNode classNode,
                                      java.util.function.Function<ClassNode,​java.lang.Boolean> visitor)
      • overrideFromSuper

        public boolean overrideFromSuper​(java.lang.String className,
                                         java.lang.String methodName,
                                         java.lang.String desc)
        judge the method whether it overrides from superior or interfaces.
      • overridedBySubclass

        public boolean overridedBySubclass​(java.lang.String className,
                                           java.lang.String methodName,
                                           java.lang.String desc)
        Judge the method whether it is overrided by children.
      • confirmOriginField

        public FieldEntity confirmOriginField​(java.lang.String owner,
                                              java.lang.String name,
                                              java.lang.String desc)
      • confirmOriginMethod

        public MethodEntity confirmOriginMethod​(java.lang.String owner,
                                                java.lang.String name,
                                                java.lang.String desc)
      • getNodes

        public java.util.Map<java.lang.String,​Node> getNodes()