Class SignatureChecker


  • public class SignatureChecker
    extends ClassFileVisitor
    Checks the signature against classes in this list.
    Author:
    Kohsuke Kawaguchi
    • Field Detail

      • ANNOTATION_FQN

        public static final java.lang.String ANNOTATION_FQN
        The fully qualified name of the annotation to use to annotate methods/fields/classes that are to be ignored by animal sniffer.
        See Also:
        Constant Field Values
      • PREVIOUS_ANNOTATION_FQN

        public static final java.lang.String PREVIOUS_ANNOTATION_FQN
        Similar to ANNOTATION_FQN. Kept for backward compatibility reasons
        See Also:
        Constant Field Values
    • Constructor Detail

      • SignatureChecker

        public SignatureChecker​(java.io.InputStream in,
                                java.util.Set<java.lang.String> ignoredPackages,
                                Logger logger)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • SignatureChecker

        public SignatureChecker​(java.util.Map<java.lang.String,​Clazz> classes,
                                java.util.Set<java.lang.String> ignoredPackages,
                                Logger logger)
                         throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • loadClasses

        public static java.util.Map<java.lang.String,​Clazz> loadClasses​(java.io.InputStream in)
                                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • setSourcePath

        public void setSourcePath​(java.util.List<java.io.File> sourcePath)
        Since:
        1.9
      • setAnnotationTypes

        public void setAnnotationTypes​(java.util.Collection<java.lang.String> annotationTypes)
        Sets the annotation type(s) that this checker should consider to ignore annotated methods, classes or fields.

        By default, the ANNOTATION_FQN and PREVIOUS_ANNOTATION_FQN are used.

        If you want to add an extra annotation types, make sure to add the standard one to the specified lists.

        Parameters:
        annotationTypes - a list of the fully qualified name of the annotation types to consider for ignoring annotated method, class and field
        Since:
        1.11
      • process

        protected void process​(java.lang.String name,
                               java.io.InputStream image)
                        throws java.io.IOException
        Specified by:
        process in class ClassFileVisitor
        Parameters:
        name - Displayable name to identify what class file we are processing
        image - Class file image.
        Throws:
        java.io.IOException
      • isSignatureBroken

        public boolean isSignatureBroken()