Interface ICodeBaseEntry

All Known Implementing Classes:
AbstractScannableCodeBaseEntry, DelegatingCodeBaseEntry, DirectoryCodeBaseEntry, JrtfsCodeBase.JrtfsCodebaseEntry, SingleFileCodeBaseEntry, ZipFileCodeBaseEntry, ZipInputStreamCodeBaseEntry

public interface ICodeBaseEntry
Object representing a resource in a code base.
Author:
David Hovemeyer
  • Method Details

    • getResourceName

      String getResourceName()
      Get the name of the resource.
      Returns:
      the name of the resource
    • getNumBytes

      int getNumBytes()
      Get the number of bytes in the resource. Returns <0 if the number of bytes is not known.
      Returns:
      number of bytes in the resource, or <0 if not known.
    • openResource

      InputStream openResource() throws IOException
      Open an input stream reading from the resource.
      Returns:
      InputStream reading from the resource.
      Throws:
      IOException - if an error occurs reading from the resource
    • getCodeBase

      ICodeBase getCodeBase()
      Get the codebase this codebase entry belongs to.
      Returns:
      the codebase this codebase entry belongs to
    • getClassDescriptor

      Return the ClassDescriptor of the class resource accessed by this codebase entry. Do not call this method unless ClassDescriptor.isClassResource() returns true. This method may require the class data to be loaded in order to determine the class.
      Returns:
      ClassDescriptor of this entry
      Throws:
      ResourceNotFoundException - InvalidClassFileFormatException if the codebase entry does not reference a valid classfile
      IllegalArgumentException - if the codebase entry's filename is definitely not a classfile
      InvalidClassFileFormatException
    • overrideResourceName

      void overrideResourceName(String resourceName)
      Override the resource name of this codebase entry.
      Parameters:
      resourceName - the new resource name