java.lang.Object
javax.swing.text.AbstractWriter
- 直系の既知のサブクラス:
HTMLWriter
,MinimalHTMLWriter
public abstract class AbstractWriter extends Object
AbstractWriterは、属性を含む要素ツリーを実際に書き出すabstractクラスです。 1行あたりに書き出す文字数のデフォルトは100です。 ただし、この値はサブクラスで設定することができます。
-
フィールドのサマリー
-
コンストラクタのサマリー
修飾子コンストラクタ説明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
インデント・レベルを減分します。protected boolean
行がラップ可能かどうかを返します。protected int
現在の行の長さを返します。protected Document
ドキュメントを取得します。protected ElementIterator
ElementIteratorを取得します。int
出力対象の最後のオフセットを返します。protected int
現在のインデント・レベルを返します。protected int
インデントするスペースの量を返します。protected int
行の長さの最大値を返します。改行を表すときに使用する文字列を返します。int
出力対象の最初のオフセットを返します。protected String
要素に関連したテキストを返します。protected Writer
コンテンツを出力するときに使用するライターを返します。protected void
インデント・レベルを増分します。protected void
indent()
インデントを行います。protected boolean
このメソッドは、現在の要素が指定された範囲内にあるかどうかを判定します。protected boolean
現在の行の長さが空の場合は、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
テキストを書き出します。protected abstract void
write()
この抽象メソッドは、サブクラスによって実装される必要があります。protected void
write
(char ch) 文字を書き出します。protected void
write
(char[] chars, int startIndex, int length) すべての書出しメソッドはこれを呼び出します。protected void
文字列を書き出します。protected void
writeAttributes
(AttributeSet attr) 属性セットを<name>=<value>のペアとして書き出します。protected void
行区切り文字を書き出します。
-
フィールド詳細
-
NEWLINE
protected static final char NEWLINEテキスト・パッケージ・モデルの改行法です。- 関連項目:
-
-
コンストラクタの詳細
-
AbstractWriter
新しいAbstractWriterを作成します。 デフォルトのドキュメント・ルートを使ってElementIteratorを初期化します。- パラメータ:
w
- Writerdoc
- 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
-