Class MemberFinder

  • All Implemented Interfaces:
    MemberVisitor

    public class MemberFinder
    extends java.lang.Object
    implements MemberVisitor
    This utility class provides methods to find class members in a given class or in its hierarchy.
    • Constructor Summary

      Constructors 
      Constructor Description
      MemberFinder()
      Creates a new MemberFinder that looks in the class hierarchy.
      MemberFinder​(boolean searchHierarchy)
      Creates a new MemberFinder that looks in the class hierarchy if specified.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Clazz correspondingClass()
      Returns the corresponding class of the most recently found class member.
      Field findField​(Clazz clazz, java.lang.String name, java.lang.String descriptor)
      Finds the field with the given name and descriptor in the given class or its hierarchy.
      Field findField​(Clazz referencingClass, Clazz clazz, java.lang.String name, java.lang.String descriptor)
      Finds the field with the given name and descriptor in the given class or its hierarchy.
      Member findMember​(Clazz clazz, java.lang.String name, java.lang.String descriptor, boolean isField)
      Finds the class member with the given name and descriptor in the given class or its hierarchy.
      Member findMember​(Clazz referencingClass, Clazz clazz, java.lang.String name, java.lang.String descriptor, boolean isField)
      Finds the class member with the given name and descriptor in the given class or its hierarchy, referenced from the optional given class.
      Method findMethod​(Clazz clazz, java.lang.String name, java.lang.String descriptor)
      Finds the method with the given name and descriptor in the given class or its hierarchy.
      Method findMethod​(Clazz referencingClass, Clazz clazz, java.lang.String name, java.lang.String descriptor)
      Finds the method with the given name and descriptor in the given class or its hierarchy.
      boolean isOverriden​(Clazz clazz, Method method)
      Returns whether the given method is overridden anywhere down the class hierarchy.
      boolean isShadowed​(Clazz clazz, Field field)
      Returns whether the given field is shadowed anywhere down the class hierarchy.
      void visitAnyMember​(Clazz clazz, Member member)
      Visits any Member instance.
      • Methods inherited from class java.lang.Object

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

      • MemberFinder

        public MemberFinder()
        Creates a new MemberFinder that looks in the class hierarchy.
      • MemberFinder

        public MemberFinder​(boolean searchHierarchy)
        Creates a new MemberFinder that looks in the class hierarchy if specified.
    • Method Detail

      • findField

        public Field findField​(Clazz clazz,
                               java.lang.String name,
                               java.lang.String descriptor)
        Finds the field with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
      • findField

        public Field findField​(Clazz referencingClass,
                               Clazz clazz,
                               java.lang.String name,
                               java.lang.String descriptor)
        Finds the field with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
      • findMethod

        public Method findMethod​(Clazz clazz,
                                 java.lang.String name,
                                 java.lang.String descriptor)
        Finds the method with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
      • findMethod

        public Method findMethod​(Clazz referencingClass,
                                 Clazz clazz,
                                 java.lang.String name,
                                 java.lang.String descriptor)
        Finds the method with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
      • findMember

        public Member findMember​(Clazz clazz,
                                 java.lang.String name,
                                 java.lang.String descriptor,
                                 boolean isField)
        Finds the class member with the given name and descriptor in the given class or its hierarchy. The name and descriptor may contain wildcards.
      • findMember

        public Member findMember​(Clazz referencingClass,
                                 Clazz clazz,
                                 java.lang.String name,
                                 java.lang.String descriptor,
                                 boolean isField)
        Finds the class member with the given name and descriptor in the given class or its hierarchy, referenced from the optional given class. The name and descriptor may contain wildcards.
      • correspondingClass

        public Clazz correspondingClass()
        Returns the corresponding class of the most recently found class member.
      • isOverriden

        public boolean isOverriden​(Clazz clazz,
                                   Method method)
        Returns whether the given method is overridden anywhere down the class hierarchy.
      • isShadowed

        public boolean isShadowed​(Clazz clazz,
                                  Field field)
        Returns whether the given field is shadowed anywhere down the class hierarchy.
      • visitAnyMember

        public void visitAnyMember​(Clazz clazz,
                                   Member member)
        Description copied from interface: MemberVisitor
        Visits any Member instance. The more specific default implementations of this interface delegate to this method.
        Specified by:
        visitAnyMember in interface MemberVisitor