public abstract class AbstractWriter extends Object
Modifier and Type | Field and Description |
---|---|
protected static char |
NEWLINE
文本包如何模型换行。
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractWriter(Writer w, Document doc)
创建一个新的AbstractWriter。
|
protected |
AbstractWriter(Writer w, Document doc, int pos, int len)
创建一个新的AbstractWriter。
|
protected |
AbstractWriter(Writer w, Element root)
创建一个新的AbstractWriter。
|
protected |
AbstractWriter(Writer w, Element root, int pos, int len)
创建一个新的AbstractWriter。
|
Modifier and Type | Method and Description |
---|---|
protected void |
decrIndent()
减少缩进级别。
|
protected boolean |
getCanWrapLines()
返回是否可以包装线。
|
protected int |
getCurrentLineLength()
返回当前行长度。
|
protected Document |
getDocument()
获取文档。
|
protected ElementIterator |
getElementIterator()
获取ElementIterator。
|
int |
getEndOffset()
返回要输出的最后一个偏移量。
|
protected int |
getIndentLevel()
返回当前缩进级别。
|
protected int |
getIndentSpace()
返回要缩进的空间量。
|
protected int |
getLineLength()
返回最大行长度。
|
String |
getLineSeparator()
返回用于表示换行符的字符串。
|
int |
getStartOffset()
返回要输出的第一个偏移量。
|
protected String |
getText(Element elem)
返回与元素关联的文本。
|
protected Writer |
getWriter()
返回用于输出内容的Writer。
|
protected void |
incrIndent()
增加缩进级别。
|
protected void |
indent()
缩进
|
protected boolean |
inRange(Element next)
此方法确定当前元素是否在指定的范围内。
|
protected boolean |
isLineEmpty()
如果当前行被视为空,则返回true。
|
protected void |
output(char[] content, int start, int length)
写出内容的最后一站。
|
protected void |
setCanWrapLines(boolean newValue)
设置是否可以包装线。
|
protected void |
setCurrentLineLength(int length)
设置当前行长度。
|
protected void |
setIndentSpace(int space)
启用子类来指定缩进映射到的空格。
|
protected void |
setLineLength(int l)
启用子类来设置每行要写入的字符数。
|
void |
setLineSeparator(String value)
设置用于表示换行符的字符串。
|
protected void |
text(Element elem)
写出文字。
|
protected abstract void |
write()
这个抽象方法需要由子类实现。
|
protected void |
write(char ch)
写出一个字符
|
protected void |
write(char[] chars, int startIndex, int length)
所有写入方法都调用到这一个中。
|
protected void |
write(String content)
写出一个字符串。
|
protected void |
writeAttributes(AttributeSet attr)
将属性集写入“<name> = <value>”对。
|
protected void |
writeLineSeparator()
写行分隔符。
|
protected AbstractWriter(Writer w, Document doc)
w
- 作家。
doc
- 一份文件
protected AbstractWriter(Writer w, Document doc, int pos, int len)
w
- 作家
doc
- 一个元素
pos
- 文档中获取内容的位置。
len
- 写出的金额。
protected AbstractWriter(Writer w, Element root)
w
- 作家
root
- 一个元素
public int getStartOffset()
public int getEndOffset()
protected ElementIterator getElementIterator()
protected Writer getWriter()
protected Document getDocument()
protected boolean inRange(Element next)
next
- 元素。
protected abstract void write() throws IOException, BadLocationException
protected String getText(Element elem) throws BadLocationException
elem
-
Element
String
BadLocationException
- 如果pos表示文档中的无效位置
protected void text(Element elem) throws BadLocationException, IOException
elem
- 元素。
IOException
- 在任何I / O错误
BadLocationException
- 如果pos表示文档中的无效位置。
protected void setLineLength(int l)
l
- 最大线路长度。
protected int getLineLength()
protected void setCurrentLineLength(int length)
protected int getCurrentLineLength()
protected boolean isLineEmpty()
getCurrentLineLength
== 0 ||
indent
已被空白行调用。
protected void setCanWrapLines(boolean newValue)
protected boolean getCanWrapLines()
protected void setIndentSpace(int space)
space
- 表示缩进映射空间的int。
protected int getIndentSpace()
public void setLineSeparator(String value)
public String getLineSeparator()
protected void incrIndent()
getIndentSpace()
* getIndentLevel()
>> getLineLength()
这不会造成缩进。
protected void decrIndent()
protected int getIndentLevel()
incrIndent
减去已调用的次数decrIndent
。
protected void indent() throws IOException
IOException
- 任何I / O错误
protected void write(char ch) throws IOException
write
方法。
ch
- 一个字符。
IOException
- 在任何I / O错误
protected void write(String content) throws IOException
write
方法。
content
- 一个字符串。
IOException
- 在任何I / O错误
protected void writeLineSeparator() throws IOException
output
直接以及设置lineLength
为0。
IOException
protected void write(char[] chars, int startIndex, int length) throws IOException
getCanWrapLines()
返回false,这将调用output
与每个序列chars
不包含换行,随后将呼叫writeLineSeparator
。
另一方面,如果getCanWrapLines()
返回true,这将分割字符串,如有必要,所以getLineLength
被兑现。
唯一的例外是如果当前字符串不包含空格,并且不适合在这种情况下行长度将超过getLineLength
。
IOException
protected void writeAttributes(AttributeSet attr) throws IOException
attr
- 一个AttributeSet。
IOException
- 在任何I / O错误
protected void output(char[] content, int start, int length) throws IOException
write
。
此方法还会根据length
更新行长度。 如果调用此方法来输出换行符,则当前行长度将不再重新设置为不再有效。 如果由呼叫者来做到这一点。 使用writeLineSeparator
写出一个换行符,它将更新当前行长度。
IOException