Class ClassFile


  • public class ClassFile
    extends Object
    This class represents a binary class file. The path to the class file should be a relative, file system path to the actual file. Examples: - CORRECT: org/apache/maven/Stuff.class - NO: /org/apache/maven/Stuff.class - NO: org.apache.maven.Stuff - NO: maven.jar!org.apache.maven.Stuff - NO: maven.jar!/org/apache/maven/Stuff.class - NO: /path/to/some/directory/org.apache.maven.Stuff - NO: /path/to/some/directory/org/apache/maven/Stuff.class The file must exist in either a directory or a jar file, but the path of the directory/jar is not included in the class file path. Rather, it's included in the Artifact. See Artifact.getFile()
    • Constructor Detail

      • ClassFile

        public ClassFile​(String classFilePath,
                         org.apache.maven.artifact.Artifact artifactThisClassWasFoundIn,
                         InputStreamSupplier inputStreamSupplier)
                  throws IOException
        Constructor.
        Parameters:
        classFilePath - path to the class file. Example: org/apache/maven/Stuff.class
        artifactThisClassWasFoundIn - the maven artifact the class appeared in (example: a jar file)
        inputStreamSupplier - a supplier for class content input stream
        Throws:
        IOException
    • Method Detail

      • getClassFilePath

        public String getClassFilePath()
        Returns:
        the path to the .class file. Example: org/apache/maven/Stuff.class
      • getArtifactThisClassWasFoundIn

        public org.apache.maven.artifact.Artifact getArtifactThisClassWasFoundIn()
        Returns:
        the maven artifact the class appeared in (example: a jar file)
      • getHash

        public String getHash()
        Returns:
        a hash or checksum of the binary file. If two files have the same hash then they are the same binary file.