SignatureChecker
Date: 2016-05-24

org.codehaus.mojo.animal_sniffer

## Class SignatureChecker

- java.lang.Object
- - org.codehaus.mojo.animal_sniffer.ClassFileVisitor
  - - org.codehaus.mojo.animal_sniffer.SignatureChecker

-     public class SignatureChecker
      extends ClassFileVisitor

  Checks the signature against classes in this list.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static 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.
    `static java.lang.String` | `PREVIOUS_ANNOTATION_FQN` Similar to `ANNOTATION_FQN`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SignatureChecker(java.io.InputStream in, java.util.Set<java.lang.String> ignoredPackages, Logger logger)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isSignatureBroken()`
    `static void` | `main(java.lang.String[] args)`
    `protected void` | `process(java.lang.String name, java.io.InputStream image)`
    `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.
    `void` | `setSourcePath(java.util.List<java.io.File> sourcePath)`

    - ### Methods inherited from class org.codehaus.mojo.animal_sniffer.ClassFileVisitor

      `isCheckJars, process, process, processClassFile, processDirectory, processJarFile, setCheckJars`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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`

  - ### Method Detail

    - #### main

          public static void main(java.lang.String[] args)
                           throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### 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()