java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.batch.ClasspathLocation
org.aspectj.org.eclipse.jdt.internal.compiler.batch.ClasspathJrt
Alle implementierten Schnittstellen:
FileSystem.Classpath, IModulePathEntry, IMultiModuleEntry, SuffixConstants
Bekannte direkte Unterklassen:
ClasspathJep247

public class ClasspathJrt extends ClasspathLocation implements IMultiModuleEntry
  • Felddetails

    • file

      public File file
    • annotationZipFile

      protected ZipFile annotationZipFile
    • closeZipFileAtEnd

      protected boolean closeZipFileAtEnd
    • ModulesCache

      protected static Map<String,Map<String,IModule>> ModulesCache
    • moduleNamesCache

      public final Set<String> moduleNamesCache
    • annotationPaths

      protected List<String> annotationPaths
  • Konstruktordetails

    • ClasspathJrt

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

    • fetchLinkedJars

      public List 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.
      Angegeben von:
      fetchLinkedJars in Schnittstelle FileSystem.Classpath
      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
    • 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.
      Angegeben von:
      getModulesDeclaringPackage in Schnittstelle IModulePathEntry
    • 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.
      Angegeben von:
      hasCompilationUnit in Schnittstelle IModulePathEntry
      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.
    • findClass

      public NameEnvironmentAnswer findClass(char[] typeName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName)
      Angegeben von:
      findClass in Schnittstelle FileSystem.Classpath
    • findClass

      public NameEnvironmentAnswer findClass(char[] typeName, String qualifiedPackageName, String moduleName, String qualifiedBinaryFileName, boolean asBinaryOnly)
      Angegeben von:
      findClass in Schnittstelle FileSystem.Classpath
    • maybeDecorateForExternalAnnotations

      protected IBinaryType maybeDecorateForExternalAnnotations(String qualifiedBinaryFileName, IBinaryType reader)
    • 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?
      Angegeben von:
      hasAnnotationFileFor in Schnittstelle FileSystem.Classpath
      Parameter:
      qualifiedTypeName - type name in qualified /-separated notation.
    • findTypeNames

      public char[][][] findTypeNames(String qualifiedPackageName, String moduleName)
      Angegeben von:
      findTypeNames in Schnittstelle FileSystem.Classpath
    • addTypeName

      protected void addTypeName(ArrayList answers, String fileName, int last, char[] packageName)
    • initialize

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

      public void loadModules()
    • getModuleNames

      public Collection<String> getModuleNames(Collection<String> limitModule, Function<String,IModule> getModule)
      Angegeben von:
      getModuleNames in Schnittstelle FileSystem.Classpath
      Setzt außer Kraft:
      getModuleNames in Klasse ClasspathLocation
    • allModules

      protected <T> List<String> allModules(Iterable<T> allSystemModules, Function<T,String> getModuleName, Function<T,IModule> getModule)
      Setzt außer Kraft:
      allModules in Klasse ClasspathLocation
    • 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.
      Angegeben von:
      normalizedPath in Schnittstelle FileSystem.Classpath
      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
    • hasModule

      public boolean hasModule()
      Angegeben von:
      hasModule in Schnittstelle FileSystem.Classpath
    • getModule

      public IModule getModule(char[] moduleName)
      Beschreibung aus Schnittstelle kopiert: IMultiModuleEntry
      Get the module named name that this entry contributes to the module path
      Angegeben von:
      getModule in Schnittstelle IModulePathEntry
      Angegeben von:
      getModule in Schnittstelle IMultiModuleEntry
      Parameter:
      moduleName - - The name of the module to look up
      Gibt zurück:
      The module named name or null
    • servesModule

      public boolean servesModule(char[] moduleName)
      Beschreibung aus Schnittstelle kopiert: IModulePathEntry
      Indicates whether this entry knows the module named name and can answer queries regarding the module
      Angegeben von:
      servesModule in Schnittstelle IModulePathEntry
      Parameter:
      moduleName - The name of the module
      Gibt zurück:
      True if this entry knows the module, false otherwise
    • clearCache

      public static void clearCache(String path, String releaseVersion)