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