ClassFileVisitor
Date: 2016-05-24

org.codehaus.mojo.animal_sniffer

## Class ClassFileVisitor

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

- Direct Known Subclasses:
    ClassListBuilder, Main, SignatureBuilder, SignatureChecker

      public abstract class ClassFileVisitor
      extends java.lang.Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ClassFileVisitor()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isCheckJars()`
    `void` | `process(java.io.File file)` Recursively finds class files and invokes `process(String, InputStream)`
    `void` | `process(java.io.File[] files)` Multi-arg version of `process(File)`.
    `protected abstract void` | `process(java.lang.String name, java.io.InputStream image)`
    `protected void` | `processClassFile(java.io.File file)`
    `protected void` | `processDirectory(java.io.File dir)`
    `protected void` | `processJarFile(java.io.File file)`
    `void` | `setCheckJars(boolean checkJars)`

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

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

- - ### Constructor Detail

    - #### ClassFileVisitor

          public ClassFileVisitor()

  - ### Method Detail

    - #### isCheckJars

          public boolean isCheckJars()

    - #### setCheckJars

          public void setCheckJars(boolean checkJars)

    - #### process

          public void process(java.io.File[] files)
                       throws java.io.IOException

      Multi-arg version of `process(File)`.
      Throws:
        `java.io.IOException`

    - #### process

          public void process(java.io.File file)
                       throws java.io.IOException

      Recursively finds class files and invokes `process(String, InputStream)`
      Parameters:
        `file` - Directory full of class files or jar files (in which case all of them are processed recursively), or a class file (in which case that single class is processed), or a jar file (in which case all the classes in this jar file are processed.)
      Throws:
        `java.io.IOException`

    - #### processDirectory

          protected void processDirectory(java.io.File dir)
                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### processJarFile

          protected void processJarFile(java.io.File file)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### processClassFile

          protected void processClassFile(java.io.File file)
                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### process

          protected abstract void process(java.lang.String name,
                     java.io.InputStream image)
                                   throws java.io.IOException

      Parameters:
        `name` - Displayable name to identify what class file we are processing
        `image` - Class file image.
      Throws:
        `java.io.IOException`