Class AnnotationSizeOfFilter

  • All Implemented Interfaces:
    SizeOfFilter

    public final class AnnotationSizeOfFilter
    extends java.lang.Object
    implements SizeOfFilter
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean filterClass​(java.lang.Class<?> klazz)
      Checks whether the type needs to be filtered
      java.util.Collection<java.lang.reflect.Field> filterFields​(java.lang.Class<?> klazz, java.util.Collection<java.lang.reflect.Field> fields)
      Returns the fields to walk and measure for a type
      private <T extends java.lang.annotation.Annotation>
      T
      getAnnotationOn​(java.lang.reflect.AnnotatedElement element, java.lang.Class<T> referenceAnnotation, java.util.regex.Pattern matchingAnnotationPattern)  
      private boolean isAnnotationPresentOrInherited​(java.lang.Class<?> instanceKlazz)  
      private boolean validateCustomAnnotationPattern​(java.lang.String canonicalName, java.util.regex.Pattern matchingAnnotationPattern)  
      • Methods inherited from class java.lang.Object

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

      • IGNORE_SIZE_OF_VM_ARGUMENT

        private static final java.lang.String IGNORE_SIZE_OF_VM_ARGUMENT
      • LOG

        private static final org.slf4j.Logger LOG
      • IGNORE_SIZE_OF_DEFAULT_REGEXP

        private static final java.lang.String IGNORE_SIZE_OF_DEFAULT_REGEXP
        See Also:
        Constant Field Values
      • IGNORE_SIZE_OF_PATTERN

        private static final java.util.regex.Pattern IGNORE_SIZE_OF_PATTERN
    • Constructor Detail

      • AnnotationSizeOfFilter

        public AnnotationSizeOfFilter()
    • Method Detail

      • filterFields

        public java.util.Collection<java.lang.reflect.Field> filterFields​(java.lang.Class<?> klazz,
                                                                          java.util.Collection<java.lang.reflect.Field> fields)
        Returns the fields to walk and measure for a type
        Specified by:
        filterFields in interface SizeOfFilter
        Parameters:
        klazz - the type
        fields - the fields already "qualified"
        Returns:
        the filtered Set
      • filterClass

        public boolean filterClass​(java.lang.Class<?> klazz)
        Checks whether the type needs to be filtered
        Specified by:
        filterClass in interface SizeOfFilter
        Parameters:
        klazz - the type
        Returns:
        true, if to be filtered out
      • isAnnotationPresentOrInherited

        private boolean isAnnotationPresentOrInherited​(java.lang.Class<?> instanceKlazz)
      • validateCustomAnnotationPattern

        private boolean validateCustomAnnotationPattern​(java.lang.String canonicalName,
                                                        java.util.regex.Pattern matchingAnnotationPattern)
      • getAnnotationOn

        private <T extends java.lang.annotation.Annotation> T getAnnotationOn​(java.lang.reflect.AnnotatedElement element,
                                                                              java.lang.Class<T> referenceAnnotation,
                                                                              java.util.regex.Pattern matchingAnnotationPattern)