JavaTM Platform
Standard Ed. 6

java.text
클래스 Format

java.lang.Object 
  상위를 확장 java.text.Format
모든 구현된 인터페이스:
Serializable , Cloneable
직계의 기존의 서브 클래스:
DateFormat , MessageFormat , NumberFormat


public abstract class Format
extends Object
implements Serializable , Cloneable

Format 는, 일자, 메세지, 숫자등의 로케일에 의존하는 정보를 포맷 하는 abstract base class입니다.

Format 는, 로케일에 의존하는 정보를 String 에 포맷 하기 위한(해) (format 메소드), 및 String 를 해석해 객체에 되돌리기 (위해)때문에 (parseObject 메소드)의 프로그래밍 인터페이스를 정의하는 것입니다.

일반적으로, format 의 parseObject 메소드는, 그 format 메소드에 의해 포맷 된 임의의 캐릭터 라인을 해석할 수 있을 필요가 있습니다. 다만, 이것이 가능하지 않은 예외적인 경우가 있습니다. 예를 들어,format 메소드는 사이에 단락지어 문자가 없는 2 개의 인접하는 정수치를 생성하는 경우가 있습니다. 이 경우,parseObject 는 각 숫자가 어느 수치에 속하는지를 나타낼 수가 없습니다.

서브 클래스화

Java 플랫폼에서는, 일자, 메세지, 숫자를 각각 포맷 하기 위한(해), 3 개(살)의 특수한 서브 클래스 DateFormat,MessageFormat,NumberFormatFormat 에 준비되어 있습니다.  

구상 서브 클래스에는, 이하의 3 개의 메소드를 구현하지 않으면 안됩니다.

  1. format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
  2. formatToCharacterIterator(Object obj)
  3. parseObject (String source, ParsePosition pos)
이러한 일반적인 메소드에 의해, 객체의 다양한 해석과 포맷이 가능하게 됩니다. 이러한 메소드는 MessageFormat 등에 의해 사용됩니다. 서브 클래스는 많은 경우, 특정의 입력 타입을 위한 추가의 format 메소드나 특정의 결과 타입을 위한 parse 메소드도 제공합니다. ParsePosition 인수를 취하지 않는 parse 는, 요구된 포맷의 텍스트가 입력 텍스트의 선두에 없는 경우,ParseException 를 throw 합니다.

대부분의 서브 클래스에는, 한층 더 이하의 팩토리 메소드가 구현됩니다.

  1. getInstance 는, 현재의 로케일에 적절한 편리한 포맷 객체를 취득하기 위한의 것입니다.
  2. getInstance(Locale) 는, 지정된 로케일에 적절한 편리한 포맷 객체를 취득하기 위한의 것입니다.
또, 서브 클래스에 따라서는, 한층 더 특수한 제어를 위해서(때문에), 다른 getXxxxInstance 메소드를 구현하는 경우도 있습니다. 예를 들어,NumberFormat 클래스에는, 특수한 숫자 포매터를 얻기 위한 getPercentInstancegetCurrencyInstance 메소드가 있습니다.

로케일용의 객체를 프로그래머가 생성할 수 있도록(듯이) 하는 경우 (getInstance(Locale) 등)는,Format 의 서브 클래스에 한층 더 다음의 클래스 메소드의 구현이 필요합니다.

 public static Locale[] getAvailableLocales()
 

마지막으로, 서브 클래스에는, 포맷 된 다양한 출력 필드를 식별하기 위해서, 1 조의 정수를 정의할 수가 있습니다. 이러한 정수는, FieldPosition 객체를 작성하기 위해서 사용됩니다. 이 객체는, 포맷 된 결과에서의 필드의 정보와 그 위치를 식별합니다. 이러한 정수의 이름은,item_FIELD 가 아니면 안됩니다. item 는 그 필드를 나타냅니다. 이러한 정수의 예에 대해서는,DateFormatERA_FIELD 등을 참조해 주세요.

동기

포맷은 동기화 되지 않습니다. thread 마다 다른 포맷 인스턴스를 작성하는 것을 추천합니다. 복수의 thread가 포맷에 동시에 액세스 하는 경우는, 외부적으로 동기화할 필요가 있습니다.

관련 항목:
ParsePosition , FieldPosition , NumberFormat , DateFormat , MessageFormat , 직렬화 된 형식

상자의 클래스의 개요
static class Format.Field
          Format.formatToCharacterIterator 로부터 반환된 AttributedCharacterIterator 내의 속성 키, 및 FieldPosition 내의 필드 식별자로서 사용하는 정수를 정의합니다.
 
생성자 의 개요
protected Format ()
          유일한 생성자 입니다.
 
메소드의 개요
 Object clone ()
          이 객체의 카피를 작성해, 돌려줍니다.
 String format (Object  obj)
          객체를 포맷 해 캐릭터 라인을 작성합니다.
abstract  StringBuffer format (Object  obj, StringBuffer  toAppendTo, FieldPosition  pos)
          객체를 포맷 해, 지정된 캐릭터 라인 버퍼에 결과의 텍스트를 추가합니다.
 AttributedCharacterIterator formatToCharacterIterator (Object  obj)
          Object 를 포맷 해,AttributedCharacterIterator 를 생성합니다.
 Object parseObject (String  source)
          지정된 캐릭터 라인의 선두로부터 텍스트를 해석해 객체를 생성합니다.
abstract  Object parseObject (String  source, ParsePosition  pos)
          캐릭터 라인으로부터 텍스트를 해석해 객체를 생성합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

Format

protected Format()
유일한 생성자 입니다. 서브 클래스의 생성자 에 의한 호출용으로, 일반적으로은 암묵적으로 불려 갑니다.

메소드의 상세

format

public final String  format(Object  obj)
객체를 포맷 해 캐릭터 라인을 작성합니다. 이것은 이하의 기술과 동등합니다.
format (obj, new StringBuffer(), new FieldPosition(0)). toString();

파라미터:
obj - 포맷 하는 객체
반환값:
포맷 된 캐릭터 라인
예외:
IllegalArgumentException - 지정된 객체를 Format 로 포맷 할 수 없다 경우

format

public abstract StringBuffer  format(Object  obj,
                                    StringBuffer  toAppendTo,
                                    FieldPosition  pos)
객체를 포맷 해, 지정된 캐릭터 라인 버퍼에 결과의 텍스트를 추가합니다. pos 인수가 포맷에 의해 사용되는 필드를 식별하는 경우는, 그 인수의 인덱스는 최초로 검출된 필드의 개시와 종료로 설정됩니다.

파라미터:
obj - 포맷 하는 객체
toAppendTo - 텍스트를 추가하는 위치
pos - 포맷 된 텍스트내의 필드를 식별하는 FieldPosition
반환값:
toAppendTo 로서 건네받는 캐릭터 라인 버퍼. 포맷 된 텍스트가 추가된다
예외:
NullPointerException - toAppendTo 또는 pos 가 null 의 경우
IllegalArgumentException - 지정된 객체를 Format 로 포맷 할 수 없다 경우

formatToCharacterIterator

public AttributedCharacterIterator  formatToCharacterIterator(Object  obj)
Object 를 포맷 해,AttributedCharacterIterator 를 생성합니다. 반환된 AttributedCharacterIterator 를 사용하면(자), 결과의 String 를 구축할 수 있는 것과 동시에, 결과의 String 에 대한 정보를 판정할 수 있습니다.  

AttributedCharacterIterator 의 각 속성 키는 Field 형입니다. AttributedCharacterIterator 내의 각 속성에 대한 정당한 값의 정의는, 각각의 Format 구현에 의존합니다만, 일반적으로, 속성 키는 속성치라고 해도 사용됩니다.

디폴트의 구현에서는, 속성 없음의 AttributedCharacterIterator 가 생성됩니다. 필드를 지원하는 서브 클래스는 이것을 오버라이드(override) 해, 유효한 속성을 가지는 AttributedCharacterIterator 를 생성합니다.

파라미터:
obj - 포맷 하는 객체
반환값:
포맷 된 값을 설명하는 AttributedCharacterIterator
예외:
NullPointerException - obj 가 null 의 경우
IllegalArgumentException - 지정된 객체를 Format 로 포맷 할 수 없는 경우
도입된 버젼:
1.4

parseObject

public abstract Object  parseObject(String  source,
                                   ParsePosition  pos)
캐릭터 라인으로부터 텍스트를 해석해 객체를 생성합니다.  

메소드는 pos 에 의해 지정된 인덱스를 개시 위치로서 텍스트의 해석을 시도합니다. 해석이 완료하면(자),pos 의 인덱스는, 사용된 마지막 문자 (해석에서는, 캐릭터 라인의 끝까지의 모든 문자를 사용한다고는 할 수 없다)의 뒤의 인덱스에 갱신되어 해석된 객체가 돌려주어집니다. 갱신된 pos 는, 이 메소드의 다음의 호출의 개시점을 나타내는데 사용할 수 있습니다. 에러가 발생했을 경우는,pos 의 인덱스는 변경되지 않고, 에러가 발생한 문자의 인덱스에 pos 의 에러 인덱스가 설정되어 null 가 돌려주어집니다.

파라미터:
source - 부분적으로 해석되는 String
pos - 상기의 인덱스 및 에러 인덱스 정보를 가진다 ParsePosition 객체
반환값:
캐릭터 라인으로부터 해석되는 Object에러의 경우는 null 를 돌려준다
예외:
NullPointerException - pos 가 null 의 경우

parseObject

public Object  parseObject(String  source)
                   throws ParseException 
지정된 캐릭터 라인의 선두로부터 텍스트를 해석해 객체를 생성합니다. 메소드는 지정된 캐릭터 라인의 텍스트 전체에 사용되지 않는 경우도 있습니다.

파라미터:
source - 선두가 해석되는 String
반환값:
캐릭터 라인으로부터 해석되는 Object
예외:
ParseException - 지정된 캐릭터 라인의 선두가 해석할 수 없는 경우

clone

public Object  clone()
이 객체의 카피를 작성해, 돌려줍니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
이 인스턴스의 복제
관련 항목:
Cloneable

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 도 참조해 주세요.