public class FabricFileManager
extends polyglot.filemanager.ExtFileManager
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.net.URI,Codebase> |
codebaseCache |
protected java.util.Map<java.net.URI,Location> |
nsClassLocation |
protected java.util.Map<java.net.URI,Location> |
nsSrcLocation |
protected java.util.Map<Location,java.util.List<java.net.URI>> |
pathMap |
Constructor and Description |
---|
FabricFileManager(ExtensionInfo extInfo) |
Modifier and Type | Method and Description |
---|---|
Source |
classSource(java.net.URI namespace,
java.lang.String name) |
protected Codebase |
codebase(java.net.URI u) |
protected Location |
createCodebaseLocation(java.net.URI namespace) |
FileSource |
fileSource(java.lang.String fileName) |
FileSource |
fileSource(java.lang.String fileName,
Source.Kind kind) |
javax.tools.FileObject |
getFileForInput(Location location,
java.lang.String packageName,
java.lang.String relativeName) |
javax.tools.JavaFileObject |
getJavaFileObject(java.net.URI uri) |
java.lang.Iterable<? extends java.io.File> |
getLocation(Location location) |
java.util.List<java.net.URI> |
getLocationURIs(Location location) |
boolean |
hasLocation(Location location) |
ClassFile |
loadFile(java.net.URI namespace,
java.lang.String name) |
Location |
namespaceClassLocation(java.net.URI namespace)
Returns the location associated with class files for this namespcae.
|
Location |
namespaceSourceLocation(java.net.URI namespace)
Returns the location associated with source files for this namespcae.
|
boolean |
packageExists(Location location,
java.lang.String name) |
void |
setLocation(Location location,
java.lang.Iterable<? extends java.io.File> path)
Associate a list of files with a location, removing any previous associations.
|
void |
setLocation(Location location,
java.util.List<java.net.URI> directories)
Associate a list of URIs with a location, removing any previous associations.
|
protected final java.util.Map<Location,java.util.List<java.net.URI>> pathMap
protected final java.util.Map<java.net.URI,Codebase> codebaseCache
protected final java.util.Map<java.net.URI,Location> nsClassLocation
protected final java.util.Map<java.net.URI,Location> nsSrcLocation
public FabricFileManager(ExtensionInfo extInfo)
public javax.tools.FileObject getFileForInput(Location location, java.lang.String packageName, java.lang.String relativeName) throws java.io.IOException
java.io.IOException
protected Codebase codebase(java.net.URI u)
u
- public boolean packageExists(Location location, java.lang.String name)
public FileSource fileSource(java.lang.String fileName) throws java.io.IOException
java.io.IOException
public FileSource fileSource(java.lang.String fileName, Source.Kind kind) throws java.io.IOException
java.io.IOException
public void setLocation(Location location, java.lang.Iterable<? extends java.io.File> path) throws java.io.IOException
java.io.IOException
public void setLocation(Location location, java.util.List<java.net.URI> directories) throws java.io.IOException
java.io.IOException
public java.lang.Iterable<? extends java.io.File> getLocation(Location location)
public java.util.List<java.net.URI> getLocationURIs(Location location)
public boolean hasLocation(Location location)
public ClassFile loadFile(java.net.URI namespace, java.lang.String name)
namespace
- name
- public Source classSource(java.net.URI namespace, java.lang.String name)
namespace
- name
- public javax.tools.JavaFileObject getJavaFileObject(java.net.URI uri) throws java.io.IOException
java.io.IOException
public Location namespaceClassLocation(java.net.URI namespace)
public Location namespaceSourceLocation(java.net.URI namespace)
protected Location createCodebaseLocation(java.net.URI namespace)