org.eclipse.jdt.internal.compiler.batch
Class FileSystem

java.lang.Object
  extended by org.eclipse.jdt.internal.compiler.batch.FileSystem
All Implemented Interfaces:
INameEnvironment, SuffixConstants
Direct Known Subclasses:
JmlFileSystem

public class FileSystem
extends java.lang.Object
implements INameEnvironment, SuffixConstants


Nested Class Summary
static interface FileSystem.Classpath
           
static class FileSystem.ClasspathNormalizer
          This class is defined how to normalize the classpath entries.
static interface FileSystem.ClasspathSectionProblemReporter
           
 
Field Summary
 
Fields inherited from interface org.eclipse.jdt.internal.compiler.util.SuffixConstants
EXTENSION_class, EXTENSION_CLASS, EXTENSION_java, EXTENSION_JAVA, SUFFIX_class, SUFFIX_CLASS, SUFFIX_java, SUFFIX_JAVA, SUFFIX_STRING_class, SUFFIX_STRING_CLASS, SUFFIX_STRING_java, SUFFIX_STRING_JAVA
 
Constructor Summary
FileSystem(java.lang.String[] classpathNames, java.lang.String[] initialFileNames, java.lang.String encoding)
           
 
Method Summary
 void cleanup()
          This method cleans the environment uo.
 NameEnvironmentAnswer findType(char[][] compoundName)
          Find a type with the given compound name.
 NameEnvironmentAnswer findType(char[][] compoundName, boolean asBinaryOnly)
           
 NameEnvironmentAnswer findType(char[] typeName, char[][] packageName)
          Find a type named in the package .
 char[][][] findTypeNames(char[][] packageName)
           
static FileSystem.Classpath getClasspath(java.lang.String classpathName, java.lang.String encoding, AccessRuleSet accessRuleSet)
           
static FileSystem.Classpath getClasspath(java.lang.String classpathName, java.lang.String encoding, boolean isSourceOnly, AccessRuleSet accessRuleSet, java.lang.String destinationPath)
           
 boolean isPackage(char[][] compoundName, char[] packageName)
          Answer whether packageName is the name of a known subpackage inside the package parentPackageName.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileSystem

public FileSystem(java.lang.String[] classpathNames,
                  java.lang.String[] initialFileNames,
                  java.lang.String encoding)
Method Detail

getClasspath

public static FileSystem.Classpath getClasspath(java.lang.String classpathName,
                                                java.lang.String encoding,
                                                AccessRuleSet accessRuleSet)

getClasspath

public static FileSystem.Classpath getClasspath(java.lang.String classpathName,
                                                java.lang.String encoding,
                                                boolean isSourceOnly,
                                                AccessRuleSet accessRuleSet,
                                                java.lang.String destinationPath)

cleanup

public void cleanup()
Description copied from interface: INameEnvironment
This method cleans the environment uo. It is responsible for releasing the memory and freeing resources. Passed that point, the name environment is no longer usable. A name environment can have a long life cycle, therefore it is the responsibility of the code which created it to decide when it is a good time to clean it up.

Specified by:
cleanup in interface INameEnvironment

findType

public NameEnvironmentAnswer findType(char[][] compoundName)
Description copied from interface: INameEnvironment
Find a type with the given compound name. Answer the binary form of the type if it is known to be consistent. Otherwise, answer the compilation unit which defines the type or null if the type does not exist. Types in the default package are specified as {{typeName}}. It is unknown whether the package containing the type actually exists. NOTE: This method can be used to find a member type using its internal name A$B, but the source file for A is answered if the binary file is inconsistent.

Specified by:
findType in interface INameEnvironment

findTypeNames

public char[][][] findTypeNames(char[][] packageName)

findType

public NameEnvironmentAnswer findType(char[][] compoundName,
                                      boolean asBinaryOnly)

findType

public NameEnvironmentAnswer findType(char[] typeName,
                                      char[][] packageName)
Description copied from interface: INameEnvironment
Find a type named in the package . Answer the binary form of the type if it is known to be consistent. Otherwise, answer the compilation unit which defines the type or null if the type does not exist. The default package is indicated by char[0][]. It is known that the package containing the type exists. NOTE: This method can be used to find a member type using its internal name A$B, but the source file for A is answered if the binary file is inconsistent.

Specified by:
findType in interface INameEnvironment

isPackage

public boolean isPackage(char[][] compoundName,
                         char[] packageName)
Description copied from interface: INameEnvironment
Answer whether packageName is the name of a known subpackage inside the package parentPackageName. A top level package is found relative to null. The default package is always assumed to exist. For example: isPackage({{java}, {awt}}, {event}); isPackage(null, {java});

Specified by:
isPackage in interface INameEnvironment