java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.batch.ClasspathLocation
org.aspectj.org.eclipse.jdt.internal.compiler.batch.ClasspathJar
Alle implementierten Schnittstellen:
FileSystem.Classpath, IModulePathEntry, SuffixConstants
Bekannte direkte Unterklassen:
ClasspathJmod, ClasspathMultiReleaseJar, ClasspathSourceJar

public class ClasspathJar extends ClasspathLocation
  • Felddetails

    • file

      protected File file
    • zipFile

      protected ZipFile zipFile
    • annotationZipFile

      protected ZipFile annotationZipFile
    • closeZipFileAtEnd

      protected boolean closeZipFileAtEnd
    • packageCache

      protected Set<String> packageCache
    • annotationPaths

      protected List<String> annotationPaths
  • Konstruktordetails

    • ClasspathJar

      public ClasspathJar(File file, boolean closeZipFileAtEnd, AccessRuleSet accessRuleSet, String destinationPath)
  • Methodendetails

    • fetchLinkedJars

      public List<FileSystem.Classpath> fetchLinkedJars(FileSystem.ClasspathSectionProblemReporter problemReporter)
      Beschreibung aus Schnittstelle kopiert: FileSystem.Classpath
      Return a list of the jar file names defined in the Class-Path section of the jar file manifest if any, null else. Only ClasspathJar (and extending classes) instances may return a non-null result.
      Parameter:
      problemReporter - problem reporter with which potential misconfiguration issues are raised
      Gibt zurück:
      a list of the jar file names defined in the Class-Path section of the jar file manifest if any
    • findClass

      public NameEnvironmentAnswer findClass(char[] typeName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName)
    • findClass

      public NameEnvironmentAnswer findClass(char[] typeName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName, boolean asBinaryOnly)
    • hasAnnotationFileFor

      public boolean hasAnnotationFileFor(String qualifiedTypeName)
      Beschreibung aus Schnittstelle kopiert: FileSystem.Classpath
      Can the current location provide an external annotation file for the given type?
      Parameter:
      qualifiedTypeName - type name in qualified /-separated notation.
    • findTypeNames

      public char[][][] findTypeNames(String qualifiedPackageName, String moduleName)
    • initialize

      public void initialize() throws IOException
      Beschreibung aus Schnittstelle kopiert: FileSystem.Classpath
      Initialize the entry
      Löst aus:
      IOException
    • addToPackageCache

      protected void addToPackageCache(String fileName, boolean endsWithSep)
    • getModulesDeclaringPackage

      public char[][] getModulesDeclaringPackage(String qualifiedPackageName, String moduleName)
      Beschreibung aus Schnittstelle kopiert: IModulePathEntry
      Answer the relevant modules that declare the given package. If moduleName is ModuleBinding.ANY then all packages are relevant, if moduleName is ModuleBinding.UNNAMED, then only packages in the unnamed module are relevant, otherwise consider only packages in the module identified by moduleName.
    • hasCompilationUnit

      public boolean hasCompilationUnit(String qualifiedPackageName, String moduleName)
      Beschreibung aus Schnittstelle kopiert: IModulePathEntry
      Answer whether the given package has any compilation unit (.java or .class) in the given module. For entries representing a single module, the module name should be checked before invoking this method.
      Parameter:
      qualifiedPackageName - '/'-separated package name
      moduleName - if non-null only CUs attached to the given module should be considered
      Gibt zurück:
      true iff a .java or .class file could be found in the given module / package.
    • listPackages

      public char[][] listPackages()
      Beschreibung aus Schnittstelle kopiert: IModulePathEntry
      Lists all packages in this modulepath entry.
      Gibt zurück:
      array of flat, dot-separated package names
    • reset

      public void reset()
      Beschreibung aus Schnittstelle kopiert: FileSystem.Classpath
      This method resets the environment. The resulting state is equivalent to a new name environment without creating a new object.
      Angegeben von:
      reset in Schnittstelle FileSystem.Classpath
      Setzt außer Kraft:
      reset in Klasse ClasspathLocation
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • normalizedPath

      public char[] normalizedPath()
      Beschreibung aus Schnittstelle kopiert: FileSystem.Classpath
      Return a normalized path for file based classpath entries. This is an absolute path in which file separators are transformed to the platform-agnostic '/', ending with a '/' for directories. This is an absolute path in which file separators are transformed to the platform-agnostic '/', deprived from the '.jar' (resp. '.zip') extension for jar (resp. zip) files.
      Gibt zurück:
      a normalized path for file based classpath entries
    • getPath

      public String getPath()
      Beschreibung aus Schnittstelle kopiert: FileSystem.Classpath
      Return the path for file based classpath entries. This is an absolute path ending with a file separator for directories, an absolute path including the '.jar' (resp. '.zip') extension for jar (resp. zip) files.
      Angegeben von:
      getPath in Schnittstelle FileSystem.Classpath
      Setzt außer Kraft:
      getPath in Klasse ClasspathLocation
      Gibt zurück:
      the path for file based classpath entries
    • getMode

      public int getMode()
      Setzt außer Kraft:
      getMode in Klasse ClasspathLocation
    • getModule

      public IModule getModule()
      Beschreibung aus Schnittstelle kopiert: IModulePathEntry
      Get the module that this entry contributes. May be null, for instance when this entry does not represent a single module
      Gibt zurück:
      The module that this entry contributes or null
    • ensureOpen

      protected void ensureOpen() throws IOException
      Löst aus:
      IOException
    • close

      public void close()