JavaTM Platform
Standard Ed. 6

javax.swing.text
클래스 AbstractWriter

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 ()
          출력 대상의 마지막 오프셋(offset)를 돌려줍니다.
protected  int getIndentLevel ()
          현재의 인덴트 레벨을 돌려줍니다.
protected  int getIndentSpace ()
          인덴트 하는 스페이스의 양을 돌려줍니다.
protected  int getLineLength ()
          행의 길이의 최대치를 돌려줍니다.
 String getLineSeparator ()
          개행을 나타낼 때 사용하는 캐릭터 라인을 돌려줍니다.
 int getStartOffset ()
          출력 대상의 최초의 오프셋(offset)를 돌려줍니다.
protected  String getText (Element  elem)
          요소에 관련한 텍스트를 돌려줍니다.
protected  Writer getWriter ()
          컨텐츠를 출력할 경우에 사용하는 라이터를 돌려줍니다.
protected  void incrIndent ()
          인덴트 레벨을 증분 합니다.
protected  void indent ()
          인덴트를 실시합니다.
protected  boolean inRange (Element  next)
          이 메소드는, 현재의 요소가 지정된 범위내에 있을지 어떨지를 판정합니다.
protected  boolean isLineEmpty ()
          현재의 행의 길이가 빈 상태(empty)의 경우는, 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)
          개행을 나타낼 때 사용하는 String 를 설정합니다.
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)
          속성 세트를 "=" 의 페어로서 써냅니다.
protected  void writeLineSeparator ()
          행 단락 문자를 써냅니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

NEWLINE

protected static final char NEWLINE
텍스트 패키지 모델의 개행법입니다.

관련 항목:
getLineSeparator() , 정수 필드치
생성자 의 상세

AbstractWriter

protected AbstractWriter(Writer  w,
                         Document  doc)
새로운 AbstractWriter 를 작성합니다. 디폴트의 문서 루트를 사용해 ElementIterator 를 초기화합니다.

파라미터:
w - Writer
doc - Document

AbstractWriter

protected AbstractWriter(Writer  w,
                         Document  doc,
                         int pos,
                         int len)
새로운 AbstractWriter 를 작성합니다. 건네받은 요소를 사용해 ElementIterator 를 초기화합니다.

파라미터:
w - Writer
doc - Element
pos - 컨텐츠를 취득한다 문서내의 위치
len - 써내는 양

AbstractWriter

protected AbstractWriter(Writer  w,
                         Element  root)
새로운 AbstractWriter 를 작성합니다. 건네받은 요소를 사용해 ElementIterator 를 초기화합니다.

파라미터:
w - Writer
root - Element

AbstractWriter

protected AbstractWriter(Writer  w,
                         Element  root,
                         int pos,
                         int len)
새로운 AbstractWriter 를 작성합니다. 건네받은 요소를 사용해 ElementIterator 를 초기화합니다.

파라미터:
w - Writer
root - Element
pos - 컨텐츠를 취득한다 문서내의 위치
len - 써내는 양
메소드의 상세

getStartOffset

public int getStartOffset()
출력 대상의 최초의 오프셋(offset)를 돌려줍니다.

도입된 버젼:
1.3

getEndOffset

public int getEndOffset()
출력 대상의 마지막 오프셋(offset)를 돌려줍니다.

도입된 버젼:
1.3

getElementIterator

protected ElementIterator  getElementIterator()
ElementIterator 를 가져옵니다.

반환값:
ElementIterator

getWriter

protected Writer  getWriter()
컨텐츠를 출력할 경우에 사용하는 라이터를 돌려줍니다.

도입된 버젼:
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
BadLocationException

getText

protected String  getText(Element  elem)
                  throws BadLocationException 
요소에 관련한 텍스트를 돌려줍니다. 이 메소드는, 건네받은 요소가 잎의 요소이라고 가정합니다. 예외가 발생하면(자) BadLocationException 를 throw 합니다.

파라미터:
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)
현재의 행의 길이를 설정합니다.

도입된 버젼:
1.3

getCurrentLineLength

protected int getCurrentLineLength()
현재의 행의 길이를 돌려줍니다.

도입된 버젼:
1.3

isLineEmpty

protected boolean isLineEmpty()
현재의 행의 길이가 빈 상태(empty)의 경우는, true 를 돌려줍니다. getCurrentLineLength == 0 || indent 가 빈 상태(empty)의 행상에서 불려 갔을 경우에는 true 입니다.

도입된 버젼:
1.3

setCanWrapLines

protected void setCanWrapLines(boolean newValue)
행을 랩 할 수 있을지 어떨지를 설정합니다. 행에 기입해 안은 바꾸고 가능합니다. 예를 들어, HTML 의 출력은 인용 캐릭터 라인을 출력할 경우에는, 이 설정은 false 가 됩니다.

도입된 버젼:
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)
개행을 나타낼 때 사용하는 String 를 설정합니다. 이것은, 생성자 내의 Document 또는 System 프로퍼티 line.separator 로 초기화됩니다.

도입된 버젼:
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 
인덴트를 실시합니다. 써내지는 스페이스의 수는, 인덴트 레벨과 매핑 된 스페이스의 수의 적이 됩니다. 현재의 행이 빈 상태(empty)의 경우는, 아무것도 행해지지 않고 행은 빈 상태(empty)인 채입니다.

예외:
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 - String
예외:
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 를 넘기 (위해)때문에 들어가지 않습니다.

예외:
IOException
도입된 버젼:
1.3

writeAttributes

protected void writeAttributes(AttributeSet  attr)
                        throws IOException 
속성 세트를 "=" 의 페어로서 써냅니다. 입출력 에러가 발생하면(자) IOException 를 throw 합니다.

파라미터:
attr - AttributeSet
예외:
IOException - 입출력 에러가 발생했을 경우

output

protected void output(char[] content,
                      int start,
                      int length)
               throws IOException 
컨텐츠 기입시의 마지막 정지입니다. 모든 기입 메소드는 최종적으로는 이 메소드가 되어, 라이터로 write 를 호출합니다.

이 메소드도 length 에 근거해 행의 길이를 갱신합니다. 개행을 출력하기 위해서 불려 가면(자), 현재의 행의 길이를 리셋 해 무효로 할 필요가 있습니다. 이 실행이 호출해 측에 의존하는 경우는,writeLineSeparator 를 사용해 개행을 써내, 현재의 행의 길이의 프로퍼티을 갱신합니다.

예외:
IOException
도입된 버젼:
1.3

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.