java.lang.Object
javax.swing.text.AbstractWriter
- 直系の既知のサブクラス:
HTMLWriter
,MinimalHTMLWriter
public abstract class AbstractWriter extends Object
AbstractWriterは、属性を含む要素ツリーを実際に書き出すabstractクラスです。 1行あたりに書き出す文字数のデフォルトは100です。 ただし、この値はサブクラスで設定することができます。
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected static char
NEWLINE
テキスト・パッケージ・モデルの改行法です。 -
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 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を作成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 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()
コンテンツを出力するときに使用するライターを返します。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)
1行あたりに書き込むことのできる文字数をサブクラスから設定できるようにします。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()
行区切り文字を書き出します。
-
フィールド詳細
-
NEWLINE
protected static final char NEWLINEテキスト・パッケージ・モデルの改行法です。- 関連項目:
getLineSeparator()
、定数フィールド値
-
-
コンストラクタの詳細
-
AbstractWriter
新しいAbstractWriterを作成します。 デフォルトのドキュメント・ルートを使ってElementIteratorを初期化します。- パラメータ:
w
- Writer。doc
- Document
-
AbstractWriter
新しいAbstractWriterを作成します。 渡された要素を使ってElementIteratorを初期化します。- パラメータ:
w
- Writerdoc
- Elementpos
- コンテンツを取得するドキュメント内の位置。len
- 書き出す量。
-
AbstractWriter
新しいAbstractWriterを作成します。 渡された要素を使ってElementIteratorを初期化します。- パラメータ:
w
- Writerroot
- Element
-
AbstractWriter
新しいAbstractWriterを作成します。 渡された要素を使ってElementIteratorを初期化します。- パラメータ:
w
- Writerroot
- Elementpos
- コンテンツを取得するドキュメント内の位置。len
- 書き出す量。
-
-
メソッドの詳細
-
getStartOffset
public int getStartOffset()出力対象の最初のオフセットを返します。- 戻り値:
- 出力される最初のオフセット
- 導入されたバージョン:
- 1.3
-
getEndOffset
public int getEndOffset()出力対象の最後のオフセットを返します。- 戻り値:
- 出力する最後のオフセット
- 導入されたバージョン:
- 1.3
-
getElementIterator
protected ElementIterator getElementIterator()ElementIteratorを取得します。- 戻り値:
- ElementIterator
-
getWriter
protected Writer getWriter()コンテンツを出力するときに使用するライターを返します。- 戻り値:
- コンテンツの出力に使用されるWriter
- 導入されたバージョン:
- 1.3
-
getDocument
protected Document getDocument()ドキュメントを取得します。- 戻り値:
- Document
-
inRange
protected boolean inRange(Element next)このメソッドは、現在の要素が指定された範囲内にあるかどうかを判定します。 範囲が指定されなかった場合は、ドキュメント全体が範囲として初期化されます。inRange()は、指定された範囲が要素の範囲と交差している場合にtrueを返します。- パラメータ:
next
- Element。- 戻り値:
- 要素が範囲内かどうかを示すboolean型の値
-
write
protected abstract void write() throws IOException, BadLocationExceptionこの抽象メソッドは、サブクラスによって実装される必要があります。 この抽象メソッドの役割は、要素を反復し、write()メソッドを使って必要な形式の出力を生成することです。- 例外:
IOException
- I/Oの問題が発生した場合BadLocationException
- ドキュメント内の無効なロケーション
-
getText
protected String getText(Element elem) throws BadLocationException要素に関連したテキストを返します。 このメソッドは、渡された要素が葉の要素であると仮定します。 例外が発生するとBadLocationExceptionをスローします。- パラメータ:
elem
-Element
- 戻り値:
String
としてのテキスト- 例外:
BadLocationException
- posがドキュメント内の無効な位置を表す場合
-
text
protected void text(Element elem) throws BadLocationException, IOExceptionテキストを書き出します。 コンストラクタの呼出し時に範囲が指定されている場合は、対応する範囲のテキストだけが書き出されます。- パラメータ:
elem
- Element。- 例外:
IOException
- 入出力エラーが発生した場合BadLocationException
- posがドキュメント内の無効な位置を表す場合。
-
setLineLength
protected void setLineLength(int l)1行あたりに書き込むことのできる文字数をサブクラスから設定できるようにします。 デフォルトは100です。- パラメータ:
l
- 行の長さの最大値。
-
getLineLength
protected int getLineLength()行の長さの最大値を返します。- 戻り値:
- 最大行長
- 導入されたバージョン:
- 1.3
-
setCurrentLineLength
protected void setCurrentLineLength(int length)現在の行の長さを設定します。- パラメータ:
length
- 新しい行の長さ- 導入されたバージョン:
- 1.3
-
getCurrentLineLength
protected int getCurrentLineLength()現在の行の長さを返します。- 戻り値:
- 現在の行の長さ
- 導入されたバージョン:
- 1.3
-
isLineEmpty
protected boolean isLineEmpty()現在の行の長さが空の場合は、trueを返します。getCurrentLineLength
== 0||indent
が空の行上で呼び出された場合にはtrueです。- 戻り値:
- 現在の行が空であるとみなされる場合はtrue
- 導入されたバージョン:
- 1.3
-
setCanWrapLines
protected void setCanWrapLines(boolean newValue)行をラップできるかどうかを設定します。 行に書込み中は切替え可能です。 たとえば、HTMLの出力は引用文字列を出力するときには、この設定はfalseとなります。- パラメータ:
newValue
- 改行の新しい値- 導入されたバージョン:
- 1.3
-
getCanWrapLines
protected boolean getCanWrapLines()行がラップ可能かどうかを返します。 falseの場合は、lineSeparatorは出力されません。- 戻り値:
- ラインをラップできるかどうか
- 導入されたバージョン:
- 1.3
-
setIndentSpace
protected void setIndentSpace(int space)インデントにマッピングするスペースの数をサブクラスから指定できるようにします。 インデントを行うと、インデント・レベルとマッピングの積が計算されます。 デフォルトは2です。- パラメータ:
space
- インデントにマッピングするスペースを表すint値。
-
getIndentSpace
protected int getIndentSpace()インデントするスペースの量を返します。- 戻り値:
- インデントするスペースの量
- 導入されたバージョン:
- 1.3
-
setLineSeparator
public void setLineSeparator(String value)改行を表すときに使用する文字列を設定します。 これは、コンストラクタ内のDocumentまたはSystemプロパティline.separatorで初期化されます。- パラメータ:
value
- 新しい行セパレータ- 導入されたバージョン:
- 1.3
-
getLineSeparator
public String getLineSeparator()改行を表すときに使用する文字列を返します。- 戻り値:
- 改行を表すために使用される文字列
- 導入されたバージョン:
- 1.3
-
incrIndent
protected void incrIndent()インデント・レベルを増分します。 インデントがgetLineLength()
よりも大きくなるようなgetIndentSpace()
*getIndentLevel()
となるとインデントしません。 -
decrIndent
protected void decrIndent()インデント・レベルを減分します。 -
getIndentLevel
protected int getIndentLevel()現在のインデント・レベルを返します。 つまり、incrIndent
が呼び出された回数からdecrIndent
が呼び出された回数を引いた数です。- 戻り値:
- 現在のインデント・レベル
- 導入されたバージョン:
- 1.3
-
indent
protected void indent() throws IOExceptionインデントを行います。 書き出されるスペースの数は、インデント・レベルとマッピングされたスペースの数の積になります。 現在の行が空の場合は、何も行われず行は空のままです。- 例外:
IOException
- 入出力エラーが発生した場合
-
write
protected void write(char ch) throws IOException文字を書き出します。 これはchar[]を取り出すwrite
メソッドを呼び出すときに実装されます。- パラメータ:
ch
- char。- 例外:
IOException
- 入出力エラーが発生した場合
-
write
protected void write(String content) throws IOException文字列を書き出します。 これはchar[]を取り出すwrite
メソッドを呼び出すときに実装されます。- パラメータ:
content
- 文字列。- 例外:
IOException
- 入出力エラーが発生した場合
-
writeLineSeparator
protected void writeLineSeparator() throws IOException行区切り文字を書き出します。 これはoutput
を直接呼び出して、lineLength
を0に設定します。- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.3
-
write
protected void write(char[] chars, int startIndex, int length) throws IOExceptionすべての書出しメソッドはこれを呼び出します。getCanWrapLines()
がfalseを返すとNEWLINEを含まないchars
の各シーケンス付きoutput
を呼び出し、続いてwriteLineSeparator
を呼び出します。 一方、getCanWrapLines()
がtrueを返すと、必要に応じて文字列を分割してgetLineLength
を受け取ります。 唯一の例外は現在の文字列に空白が含まれない場合で、行の長さがgetLineLength
を超えるため収まりません。- パラメータ:
chars
- 出力する文字startIndex
- 開始インデックスlength
- 出力の長さ- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.3
-
writeAttributes
protected void writeAttributes(AttributeSet attr) throws IOException属性セットを<name>=<value>のペアとして書き出します。 入出力エラーが発生するとIOExceptionをスローします。- パラメータ:
attr
- AttributeSet。- 例外:
IOException
- 入出力エラーが発生した場合
-
output
protected void output(char[] content, int start, int length) throws IOExceptionコンテンツ書込み時の最後の停止です。 すべての書込みメソッドは最終的にはこのメソッドとなり、ライターでwrite
を呼び出します。このメソッドは、
length
に基づいて行の長さも更新します。 改行を出力するためにこれが呼び出される場合は、現在の行の長さをリセットして無効にする必要があります。 この実行が呼出し側に依存する場合は、writeLineSeparator
を使用して改行を書き出し、現在の行の長さのプロパティを更新します。- パラメータ:
content
- 出力する文字start
- 開始インデックスlength
- 出力の長さ- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.3
-