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