M
-文件管理器转发到这个对象的类型
public class ForwardingJavaFileManager<M extends JavaFileManager> extends Object implements JavaFileManager
JavaFileManager.Location
Modifier and Type | Field and Description |
---|---|
protected M |
fileManager
所有方法都委派给的文件管理器。
|
Modifier | Constructor and Description |
---|---|
protected |
ForwardingJavaFileManager(M fileManager)
创建一个新的实例forwardingjavafilemanager。
|
protected final M extends JavaFileManager fileManager
protected ForwardingJavaFileManager(M fileManager)
fileManager
委托这个文件管理器
public ClassLoader getClassLoader(JavaFileManager.Location location)
JavaFileManager
ANNOTATION_PROCESSOR_PATH
位置的类加载器。
getClassLoader
接口
JavaFileManager
location
-位置
null
如果位置不知道加载插件从给定的位置被禁用或
SecurityException
-如果一个类装载器不能在当前安全上下文创建
IllegalStateException
-如果
JavaFileManager.close()
被称为这个文件管理器无法打开
public Iterable<JavaFileObject> list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) throws IOException
JavaFileManager
注意:即使给定的位置是这个文件管理器未知,它可能不会返回null
。同时,一个未知的位置可能不引发异常。
list
接口
JavaFileManager
location
-位置
packageName
-包的名称
kinds
返回对象的只有这些
recurse
-如果真有“分包”
IOException
如果发生I/O错误,或者如果
JavaFileManager.close()
被称为这个文件管理器无法打开
IllegalStateException
-如果
JavaFileManager.close()
被称为这个文件管理器无法打开
public String inferBinaryName(JavaFileManager.Location location, JavaFileObject file)
JavaFileManager
inferBinaryName
接口
JavaFileManager
location
-位置
file
-一个文件对象
null
对象不在给定的位置找到
IllegalStateException
-如果
JavaFileManager.close()
被称为这个文件管理器无法打开
public boolean isSameFile(FileObject a, FileObject b)
JavaFileManager
isSameFile
接口
JavaFileManager
a
-一个文件对象
b
-一个文件对象
IllegalArgumentException
-如果任何观点都是与另一个文件管理器和文件管理器创建的不支持外国的文件对象
public boolean handleOption(String current, Iterator<String> remaining)
JavaFileManager
current
是选择这个文件管理器会消耗任何论点从
remaining
选项,返回true,否则返回false。
handleOption
接口
JavaFileManager
current
电流选择
remaining
-其余选项
IllegalArgumentException
-如果这个选项这个文件管理器使用不当
IllegalStateException
-如果
JavaFileManager.close()
被称为这个文件管理器无法打开
public boolean hasLocation(JavaFileManager.Location location)
JavaFileManager
hasLocation
接口
JavaFileManager
location
-位置
public int isSupportedOption(String option)
OptionChecker
isSupportedOption
接口
OptionChecker
option
-一个选项
public JavaFileObject getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind) throws IOException
JavaFileManager
getJavaFileForInput
接口
JavaFileManager
location
-位置
className
-类的名称
kind
-文件类型,必须是一个
SOURCE
或
CLASS
null
如果文件不存在
IllegalArgumentException
如果位置不知道这个文件管理器和文件管理器不支持未知地点,或者是无效的
IllegalStateException
-如果
JavaFileManager.close()
被称为这个文件管理器无法打开
IOException
如果发生I/O错误,或者如果
JavaFileManager.close()
被称为这个文件管理器无法打开
public JavaFileObject getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling) throws IOException
JavaFileManager
可选地,这个文件管理器可能会考虑该兄弟姐妹作为一个提示,用于在哪里放置输出。这个提示的确切语义是未指定的。JDK的编译器javac,例如,将类文件在同一目录,源文件,除非提供一个类文件输出目录。为了促进这一行为,javac可能提供源文件作为兄弟时调用此方法。
getJavaFileForOutput
接口
JavaFileManager
location
-位置
className
-类的名称
kind
-文件类型,必须是一个
SOURCE
或
CLASS
sibling
-一个文件作为提示可能
null
安置;
IllegalArgumentException
如果兄弟不知道这个文件管理器,或者如果位置是不知道这个文件管理器和文件管理器不支持未知地点,或者是无效的
IllegalStateException
-
JavaFileManager.close()
被称为这个文件管理器无法打开
IOException
如果发生I/O错误,或者如果
JavaFileManager.close()
被称为这个文件管理器无法打开
public FileObject getFileForInput(JavaFileManager.Location location, String packageName, String relativeName) throws IOException
JavaFileManager
如果返回的对象是一个source或class文件,它必须是JavaFileObject
实例。
非正式的文件,此方法返回的对象是位于的位置,包名称的连接,和相对的名字。例如,查找文件的属性“资源/编译器。属性”包中的“COM。太阳。工具。javac”在SOURCE_PATH位置,这种方法可以称为像这样:
getfileforinput(source_path,“COM。太阳。工具。javac”、“资源/编译器。属性”);
如果调用执行的Windows,与source_path设置"C:\Documents and Settings\UncleBob\src\share\classes"
,有效的将是代表文件"C:\Documents and Settings\UncleBob\src\share\classes\com\sun\tools\javac\resources\compiler.properties"
文件对象。
getFileForInput
接口
JavaFileManager
location
-位置
packageName
-包的名称
relativeName
-相关名称
null
如果文件不存在
IllegalArgumentException
如果位置不知道这个文件管理器和文件管理器不支持未知地点,或者如果
relativeName
无效
IllegalStateException
-如果
JavaFileManager.close()
被称为这个文件管理器无法打开
IOException
如果发生I/O错误,或者如果
JavaFileManager.close()
被称为这个文件管理器无法打开
public FileObject getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling) throws IOException
JavaFileManager
可选地,这个文件管理器可能会考虑该兄弟姐妹作为一个提示,用于在哪里放置输出。这个提示的确切语义是未指定的。JDK的编译器javac,例如,将类文件在同一目录,源文件,除非提供一个类文件输出目录。为了促进这一行为,javac可能提供源文件作为兄弟时调用此方法。
如果返回的对象是一个source或class文件,它必须是JavaFileObject
实例。
非正式的文件,此方法返回的对象是位于的位置,包名称的连接,和相关的名称或旁边的兄弟的说法。看到一个例子getFileForInput
。
getFileForOutput
接口
JavaFileManager
location
-位置
packageName
-包的名称
relativeName
-相关名称
sibling
-一个文件作为提示可能
null
安置;
IllegalArgumentException
如果兄弟不知道这个文件管理器,或者如果位置是不知道这个文件管理器和文件管理器不支持未知地点,或者如果
relativeName
无效
IllegalStateException
-如果
JavaFileManager.close()
被称为这个文件管理器无法打开
IOException
如果发生I/O错误,或者如果
JavaFileManager.close()
被称为这个文件管理器无法打开
public void flush() throws IOException
JavaFileManager
flush
接口
Flushable
flush
接口
JavaFileManager
IOException
如果发生I/O错误
JavaFileManager.close()
public void close() throws IOException
JavaFileManager
close
接口
Closeable
close
接口
AutoCloseable
close
接口
JavaFileManager
IOException
如果发生I/O错误
JavaFileManager.flush()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.