- java.lang.Object
-
- javax.tools.SimpleJavaFileObject
-
- All Implemented Interfaces:
-
FileObject
,JavaFileObject
public class SimpleJavaFileObject extends Object implements JavaFileObject
为JavaFileObject中的大多数方法提供简单的实现。 该类被设计为子类化,并用作JavaFileObject实现的基础。 只要符合JavaFileObject的一般合约,子类就可以覆盖此类的任何方法的实现和规范。- 从以下版本开始:
- 1.6
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface javax.tools.JavaFileObject
JavaFileObject.Kind
-
-
Field Summary
Fields Modifier and Type Field 描述 protected JavaFileObject.Kind
kind
这种文件对象的种类。protected URI
uri
此文件对象的URI。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
SimpleJavaFileObject(URI uri, JavaFileObject.Kind kind)
构造给定类型的SimpleJavaFileObject和给定的URI。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
delete()
这个实现什么都不做。Modifier
getAccessLevel()
此实现返回null
。CharSequence
getCharContent(boolean ignoreEncodingErrors)
这个实现总是抛出UnsupportedOperationException 。JavaFileObject.Kind
getKind()
返回此文件对象的种类。long
getLastModified()
此实现返回0L
。String
getName()
返回此文件对象的用户友好名称。NestingKind
getNestingKind()
此实现返回null
。boolean
isNameCompatible(String simpleName, JavaFileObject.Kind kind)
此实现将其URI的路径与给定的简单名称进行比较。InputStream
openInputStream()
这个实现总是抛出UnsupportedOperationException 。OutputStream
openOutputStream()
这个实现总是抛出UnsupportedOperationException 。Reader
openReader(boolean ignoreEncodingErrors)
将 getCharContent(boolean)的结果 包装在阅读器中。Writer
openWriter()
在Writer中将openOutputStream的结果包起来。String
toString()
返回对象的字符串表示形式。URI
toUri()
返回标识此文件对象的URI。
-
-
-
字段详细信息
-
uri
protected final URI uri
此文件对象的URI。
-
kind
protected final JavaFileObject.Kind kind
这种文件对象的种类。
-
-
构造方法详细信息
-
SimpleJavaFileObject
protected SimpleJavaFileObject(URI uri, JavaFileObject.Kind kind)
构造给定类型的SimpleJavaFileObject和给定的URI。- 参数
-
uri
- 此文件对象的URI -
kind
- 这个文件对象的种类
-
-
方法详细信息
-
toUri
public URI toUri()
说明从界面FileObject
复制返回标识此文件对象的URI。- Specified by:
-
toUri
在接口FileObject
- 结果
- 一个URI
-
getName
public String getName()
说明从界面FileObject
复制返回此文件对象的用户友好名称。 没有指定返回的确切值,但实现应该小心保留用户给出的名称。 例如,如果用户在命令行中写入文件"BobsApp\Test.java"
,则此方法应返回"BobsApp\Test.java"
而toUri方法可能会返回file:///C:/Documents%20and%20Settings/UncleBob/BobsApp/Test.java
。- Specified by:
-
getName
在接口FileObject
- 结果
- 用户友好的名称
-
openInputStream
public InputStream openInputStream() throws IOException
这个实现总是抛出UnsupportedOperationException 。 只要符合FileObject
的合同,子类就可以改变这种行为。- Specified by:
-
openInputStream
在接口FileObject
- 结果
- 一个InputStream
- 异常
-
IOException
- 如果发生I / O错误
-
openOutputStream
public OutputStream openOutputStream() throws IOException
这个实现总是抛出UnsupportedOperationException 。 只要符合FileObject
的合同,子类就可以改变这种行为。- Specified by:
-
openOutputStream
在接口FileObject
- 结果
- 一个OutputStream
- 异常
-
IOException
- 如果发生I / O错误
-
openReader
public Reader openReader(boolean ignoreEncodingErrors) throws IOException
将getCharContent(boolean)的结果包装在阅读器中。 只要符合FileObject
的合同,子类就可以改变这种行为。- Specified by:
-
openReader
在接口FileObject
- 参数
-
ignoreEncodingErrors
- 如果为true,则忽略编码错误 - 结果
- 一个包装getCharContent结果的Reader
- 异常
-
IllegalStateException
- 如果此文件对象被打开以进行写入,并且不支持读取 -
UnsupportedOperationException
- 如果这种文件对象不支持字符访问 -
IOException
- 如果发生I / O错误
-
getCharContent
public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException
这个实现总是抛出UnsupportedOperationException 。 只要符合FileObject
的合同,子类就可以改变这种行为。- Specified by:
-
getCharContent
在接口FileObject
- 参数
-
ignoreEncodingErrors
- 忽略编码错误,如果为true - 结果
-
一个CharSequence(如果有的话)
null
否则 - 异常
-
IOException
- 如果发生I / O错误
-
openWriter
public Writer openWriter() throws IOException
在Writer中将openOutputStream的结果包起来。 只要符合FileObject
的合同,子类就可以改变这种行为。- Specified by:
-
openWriter
在接口FileObject
- 结果
- 一个Writer包装了openOutputStream的结果
- 异常
-
IllegalStateException
- 如果此文件对象被打开以供阅读,并且不支持写入 -
UnsupportedOperationException
- 如果这种文件对象不支持字符访问 -
IOException
- 如果发生I / O错误
-
getLastModified
public long getLastModified()
此实现返回0L
。 只要符合FileObject
的合同,子类就可以改变这种行为。- Specified by:
-
getLastModified
在接口FileObject
- 结果
-
0L
-
delete
public boolean delete()
这个实现什么都不做。 只要符合FileObject
的合同,子类就可以改变这种行为。- Specified by:
-
delete
在接口FileObject
- 结果
-
false
-
getKind
public JavaFileObject.Kind getKind()
描述从接口JavaFileObject
复制返回此文件对象的种类。- Specified by:
-
getKind
在接口JavaFileObject
- 结果
-
this.kind
-
isNameCompatible
public boolean isNameCompatible(String simpleName, JavaFileObject.Kind kind)
此实现将其URI的路径与给定的简单名称进行比较。 如果给定的那种等于样本对象的此方法返回true,并且如果路径是等于simpleName + kind.extension
,或者如果它结尾"/" + simpleName + kind.extension
。该方法调用
getKind()
和toUri()
,并且不直接访问字段uri
和kind
。只要符合
JavaFileObject
的合同,子类就可以改变这种行为。- Specified by:
-
isNameCompatible
在接口JavaFileObject
- 参数
-
simpleName
- 类的简单名称 -
kind
- 一种 - 结果
-
true
如果这个文件对象是兼容的; 否则为假
-
getNestingKind
public NestingKind getNestingKind()
此实现返回null
。 只要符合JavaFileObject
的合同,子类就可以改变这种行为。- Specified by:
-
getNestingKind
在接口JavaFileObject
- 结果
-
嵌套类型,或
null
如果嵌套类型不知道
-
getAccessLevel
public Modifier getAccessLevel()
此实现返回null
。 只要符合JavaFileObject
的合同,子类就可以改变这种行为。- Specified by:
-
getAccessLevel
在接口JavaFileObject
- 结果
- 访问级别
-
toString
public String toString()
描述从类复制:Object
返回对象的字符串表示形式。 一般来说,toString
方法返回一个“toString
代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。该
toString
类方法Object
返回一个由类的名称,其中所述对象是其实例,该符号字符`的字符串@
”,并且对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:getClass().getName() + '@' + Integer.toHexString(hashCode())
-
-