- All Known Implementing Classes:
DocumentationTool.Location
,StandardLocation
- Enclosing interface:
- JavaFileManager
public static interface JavaFileManager.Location
Informally, a Location
corresponds to a "search path", such as a class
path or module path, as used by command-line tools that use the default file system.
Some locations are typically used to identify a place in which a tool can find files to be read; others are typically used to identify a place where a tool can write files. If a location is used to identify a place for reading files, those files may be organized in a simple package/class hierarchy: such locations are described as package-oriented. Alternatively, the files may be organized in a module/package/class hierarchy: such locations are described as module-oriented. If a location is typically used to identify a place where a tool can write files, it is up to the tool that writes the files to specify how those files will be organized.
You can access the classes in a package-oriented location using methods like
JavaFileManager.getJavaFileForInput(javax.tools.JavaFileManager.Location, java.lang.String, javax.tools.JavaFileObject.Kind)
or JavaFileManager.list(javax.tools.JavaFileManager.Location, java.lang.String, java.util.Set<javax.tools.JavaFileObject.Kind>, boolean)
.
It is not possible to directly list the classes in a module-oriented
location. Instead, you can get a package-oriented location for any specific module
using methods like JavaFileManager.getLocationForModule(javax.tools.JavaFileManager.Location, java.lang.String)
or
JavaFileManager.listLocationsForModules(javax.tools.JavaFileManager.Location)
.
-
Method Summary
Modifier and Type Method Description String
getName()
Returns the name of this location.default boolean
isModuleOrientedLocation()
Indicates if this location is module-oriented location, and therefore expected to contain classes in a module/package/class hierarchy, as compared to a package-oriented location, which is expected to contain classes in a package/class hierarchy.boolean
isOutputLocation()
Determines if this is an output location.
-
Method Details
-
getName
String getName()Returns the name of this location.- Returns:
- a name
-
isOutputLocation
boolean isOutputLocation()Determines if this is an output location. An output location is a location that is conventionally used for output.- API Note:
- An output location may be used to write files in either a package-oriented organization or in a module-oriented organization.
- Returns:
- true if this is an output location, false otherwise
-
isModuleOrientedLocation
default boolean isModuleOrientedLocation()Indicates if this location is module-oriented location, and therefore expected to contain classes in a module/package/class hierarchy, as compared to a package-oriented location, which is expected to contain classes in a package/class hierarchy. The result of this method is undefined if this is an output location.- Implementation Note:
- This implementation returns true if the name includes the word "MODULE".
- Returns:
- true if this location is expected to contain modules
- Since:
- 9
-