Class MemberUsageScanner

  • All Implemented Interfaces:
    Scanner

    public class MemberUsageScanner
    extends java.lang.Object
    implements Scanner
    scan methods/constructors/fields usage
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.ClassLoader[] classLoaders  
      private javassist.ClassPool classPool  
      private java.util.function.Predicate<java.lang.String> resultFilter  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void add​(java.util.List<java.util.Map.Entry<java.lang.String,​java.lang.String>> entries, java.lang.String key, java.lang.String value)  
      Scanner filterResultsBy​(java.util.function.Predicate<java.lang.String> filter)  
      private javassist.ClassPool getClassPool()  
      static java.lang.String parameterNames​(javassist.bytecode.MethodInfo info)  
      java.util.List<java.util.Map.Entry<java.lang.String,​java.lang.String>> scan​(javassist.bytecode.ClassFile classFile)
      scan the given classFile and produces list of Map.Entry key/values
      private void scanMember​(javassist.CtBehavior member, java.util.List<java.util.Map.Entry<java.lang.String,​java.lang.String>> entries)  
      • Methods inherited from class java.lang.Object

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

      • resultFilter

        private java.util.function.Predicate<java.lang.String> resultFilter
      • classLoaders

        private final java.lang.ClassLoader[] classLoaders
      • classPool

        private volatile javassist.ClassPool classPool
    • Constructor Detail

      • MemberUsageScanner

        public MemberUsageScanner()
      • MemberUsageScanner

        public MemberUsageScanner​(@Nonnull
                                  java.lang.ClassLoader[] classLoaders)
    • Method Detail

      • scan

        public java.util.List<java.util.Map.Entry<java.lang.String,​java.lang.String>> scan​(javassist.bytecode.ClassFile classFile)
        Description copied from interface: Scanner
        scan the given classFile and produces list of Map.Entry key/values
        Specified by:
        scan in interface Scanner
      • filterResultsBy

        public Scanner filterResultsBy​(java.util.function.Predicate<java.lang.String> filter)
      • scanMember

        private void scanMember​(javassist.CtBehavior member,
                                java.util.List<java.util.Map.Entry<java.lang.String,​java.lang.String>> entries)
                         throws javassist.CannotCompileException
        Throws:
        javassist.CannotCompileException
      • add

        private void add​(java.util.List<java.util.Map.Entry<java.lang.String,​java.lang.String>> entries,
                         java.lang.String key,
                         java.lang.String value)
      • parameterNames

        public static java.lang.String parameterNames​(javassist.bytecode.MethodInfo info)
      • getClassPool

        private javassist.ClassPool getClassPool()