JavaTM Platform
Standard Ed. 6

javax.xml.bind
클래스 DatatypeConverter

java.lang.Object 
  상위를 확장 javax.xml.bind.DatatypeConverter


public final class DatatypeConverter
extends Object

Java 형 바인딩 선언은, XML schema 데이터형과 Java 데이터형의 바인딩을 커스터마이즈 하기 위해서 사용할 수 있습니다. 커스터마이즈에는, XML schema 데이터형의 자구 표현을 해석하거나 출력하기 위한 , 해석 메소드 및 출력 메소드를 각각 기술하는 것이 포함됩니다. 다만, 해석 메소드 및 출력 메소드를 기술하려면 , 그 자구 표현을 이해할 필요가 있기 (위해)때문에 (「XML Schema Part2: Datatypes」스펙), 난이도가 높은 일이 있습니다.

이 클래스에 의해, 해석 메소드 및 출력 메소드의 작성이 용이하게 됩니다. 이 클래스는, JAXB 프로바이더의 해석 메소드 및 출력 메소드 구현에의 액세스를 제공하는, static 의 해석 메소드 및 출력 메소드를 정의합니다. 이러한 메소드는, 커스텀의 해석 메소드 및 출력 메소드에 의해 불려 갑니다. 예를 들어, xsd:dateTime 의 long 치에의 바인딩을, 다음과 같은 해석 메소드 및 출력 메소드를 사용해 커스터마이즈 할 수 있습니다.

    // Customized parse method 
    public long myParseCal( String dateTimeString ) {
        java.util.Calendar cal = DatatypeConverter.parseDateTime(dateTimeString);
        long longval = convert_calendar_to_long(cal); //application specific
        return longval;
    }
     
    // Customized print method
    public String myPrintCal( Long longval ) {
        java.util.Calendar cal = convert_long_to_calendar(longval) ; //application specific
        String dateTimeString = DatatypeConverter.printDateTime(cal);
        return dateTimeString;
    }
    

DatatypeConverterInterface 의 해석 메소드 및 출력 메소드의 각각 대응하는, static 해석 메소드 및 출력 메소드가 있습니다.

또, 이 클래스에서 정의된 static 메소드는, JavaType 바인딩 선언내에서 해석 메소드 및 출력 메소드를 지정하기 위해서 사용할 수 있습니다.

JAXB 프로바이더는, 최초의 정렬화 또는 비정렬화 조작을 호출하기 전이 있는 시점에서 (아마, JAXBContext.newInstance 의 호출중),setDatatypeConverter API 를 호출할 필요가 있습니다. 이 스텝은, 출력 및 해석 기능을 실행하는데 있어서 사용해야 할 컨버터를 설정하기 위해서 필요하게 됩니다.

XML schema 데이터형의 출력 메소드는, XML schema 데이터형으로서 유효한 자구 표현을 출력 가능합니다. 변환중에 에러가 발생했을 경우, 이 메소드는 IllegalArgumentException, 또는, IllegalArgumentException 의 서브 클래스를 throw 할 필요가 있습니다.

도입된 버젼:
JAXB1. 0
관련 항목:
DatatypeConverterInterface , ParseConversionEvent , PrintConversionEvent

메소드의 개요
static String parseAnySimpleType (String  lexicalXSDAnySimpleType)
           단순형의 자구 표현을 포함한 캐릭터 라인을 돌려줍니다.
static byte[] parseBase64Binary (String  lexicalXSDBase64Binary)
           캐릭터 라인 인수를 바이트 배열로 변환합니다.
static boolean parseBoolean (String  lexicalXSDBoolean)
           캐릭터 라인 인수를 boolean 치로 변환합니다.
static byte parseByte (String  lexicalXSDByte)
           캐릭터 라인 인수를 byte 치로 변환합니다.
static Calendar parseDate (String  lexicalXSDDate)
           캐릭터 라인 인수를 Calendar 치로 변환합니다.
static Calendar parseDateTime (String  lexicalXSDDateTime)
           캐릭터 라인 인수를 Calendar 치로 변환합니다.
static BigDecimal parseDecimal (String  lexicalXSDDecimal)
           캐릭터 라인 인수를 BigDecimal 치로 변환합니다.
static double parseDouble (String  lexicalXSDDouble)
           캐릭터 라인 인수를 double 치로 변환합니다.
static float parseFloat (String  lexicalXSDFloat)
           캐릭터 라인 인수를 float 치로 변환합니다.
static byte[] parseHexBinary (String  lexicalXSDHexBinary)
           캐릭터 라인 인수를 바이트 배열로 변환합니다.
static int parseInt (String  lexicalXSDInt)
           캐릭터 라인 인수를 int 치로 변환합니다.
static BigInteger parseInteger (String  lexicalXSDInteger)
           캐릭터 라인 인수를 BigInteger 치로 변환합니다.
static long parseLong (String  lexicalXSDLong)
           캐릭터 라인 인수를 long 치로 변환합니다.
static QName parseQName (String  lexicalXSDQName, NamespaceContext  nsc)
           캐릭터 라인 인수를 Qname 치로 변환합니다.
static short parseShort (String  lexicalXSDShort)
           캐릭터 라인 인수를 short 치로 변환합니다.
static String parseString (String  lexicalXSDString)
           자구 XSD 캐릭터 라인 인수를 String 치로 변환합니다.
static Calendar parseTime (String  lexicalXSDTime)
           캐릭터 라인 인수를 Calendar 치로 변환합니다.
static long parseUnsignedInt (String  lexicalXSDUnsignedInt)
           캐릭터 라인 인수를 long 치로 변환합니다.
static int parseUnsignedShort (String  lexicalXSDUnsignedShort)
           캐릭터 라인 인수를 int 치로 변환합니다.
static String printAnySimpleType (String  val)
           캐릭터 라인치를 캐릭터 라인으로 변환합니다.
static String printBase64Binary (byte[] val)
           바이트 배열을 캐릭터 라인으로 변환합니다.
static String printBoolean (boolean val)
           boolean 치를 캐릭터 라인으로 변환합니다.
static String printByte (byte val)
           byte 치를 캐릭터 라인으로 변환합니다.
static String printDate (Calendar  val)
           Calendar 치를 캐릭터 라인으로 변환합니다.
static String printDateTime (Calendar  val)
           Calendar 치를 캐릭터 라인으로 변환합니다.
static String printDecimal (BigDecimal  val)
           BigDecimal 치를 캐릭터 라인으로 변환합니다.
static String printDouble (double val)
           double 치를 캐릭터 라인으로 변환합니다.
static String printFloat (float val)
           float 치를 캐릭터 라인으로 변환합니다.
static String printHexBinary (byte[] val)
           바이트 배열을 캐릭터 라인으로 변환합니다.
static String printInt (int val)
           int 치를 캐릭터 라인으로 변환합니다.
static String printInteger (BigInteger  val)
           BigInteger 치를 캐릭터 라인으로 변환합니다.
static String printLong (long val)
           long 치를 캐릭터 라인으로 변환합니다.
static String printQName (QName  val, NamespaceContext  nsc)
           QName 인스턴스를 캐릭터 라인으로 변환합니다.
static String printShort (short val)
           short 치를 캐릭터 라인으로 변환합니다.
static String printString (String  val)
           캐릭터 라인 인수를 캐릭터 라인으로 변환합니다.
static String printTime (Calendar  val)
           Calendar 치를 캐릭터 라인으로 변환합니다.
static String printUnsignedInt (long val)
           long 치를 캐릭터 라인으로 변환합니다.
static String printUnsignedShort (int val)
           int 치를 캐릭터 라인으로 변환합니다.
static void setDatatypeConverter (DatatypeConverterInterface  converter)
          이 메소드는, JAXB 프로바이더에만 따라 사용됩니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

setDatatypeConverter

public static void setDatatypeConverter(DatatypeConverterInterface  converter)
이 메소드는, JAXB 프로바이더에만 따라 사용됩니다.

JAXB 프로바이더는, JAXB 클라이언트의 정렬화 또는 비정렬화 조작의 실행이 허가되기 전이 있는 시점에서, 이 메소드를 호출할 필요가 있습니다. 이것은, 출력 및 해석 변환을 실행하는데 있어서 사용해야 할 데이터형 컨버터를 설정하기 위해서 필요하게 됩니다.

이 API 를 반복해 호출해도 효과는 없습니다. 최초의 호출에게 건네진 DatatypeConverterInterface 인스턴스가, 그 이후 사용되는 인스턴스입니다.

파라미터:
converter - DatatypeConverterInterface 클래스를 구현한다 클래스의 인스턴스. 이 파라미터는 null 는 불가
예외:
IllegalArgumentException - 파라미터가 null 의 경우

parseString

public static String  parseString(String  lexicalXSDString)

자구 XSD 캐릭터 라인 인수를 String 치로 변환합니다.

파라미터:
lexicalXSDString - xsd:string 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 String 치

parseInteger

public static BigInteger  parseInteger(String  lexicalXSDInteger)

캐릭터 라인 인수를 BigInteger 치로 변환합니다.

파라미터:
lexicalXSDInteger - xsd:integer 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 BigInteger 치
예외:
NumberFormatException - lexicalXSDIntegerBigInteger 치의 캐릭터 라인 표현으로서 무효인 경우

parseInt

public static int parseInt(String  lexicalXSDInt)

캐릭터 라인 인수를 int 치로 변환합니다.

파라미터:
lexicalXSDInt - xsd:int 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 int 치
예외:
NumberFormatException - lexicalXSDIntint 치의 캐릭터 라인 표현으로서 무효인 경우

parseLong

public static long parseLong(String  lexicalXSDLong)

캐릭터 라인 인수를 long 치로 변환합니다.

파라미터:
lexicalXSDLong - xsd:long 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 long 치
예외:
NumberFormatException - lexicalXSDLonglong 치의 캐릭터 라인 표현으로서 무효인 경우

parseShort

public static short parseShort(String  lexicalXSDShort)

캐릭터 라인 인수를 short 치로 변환합니다.

파라미터:
lexicalXSDShort - xsd:short 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 short 치
예외:
NumberFormatException - lexicalXSDShortshort 치의 캐릭터 라인 표현으로서 무효인 경우

parseDecimal

public static BigDecimal  parseDecimal(String  lexicalXSDDecimal)

캐릭터 라인 인수를 BigDecimal 치로 변환합니다.

파라미터:
lexicalXSDDecimal - xsd:decimal 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 BigDecimal 치
예외:
NumberFormatException - lexicalXSDDecimalBigDecimal 의 캐릭터 라인 표현으로서 무효인 경우

parseFloat

public static float parseFloat(String  lexicalXSDFloat)

캐릭터 라인 인수를 float 치로 변환합니다.

파라미터:
lexicalXSDFloat - xsd:float 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 float 치
예외:
NumberFormatException - lexicalXSDFloatfloat 치의 캐릭터 라인 표현으로서 무효인 경우

parseDouble

public static double parseDouble(String  lexicalXSDDouble)

캐릭터 라인 인수를 double 치로 변환합니다.

파라미터:
lexicalXSDDouble - xsd:double 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 double 치
예외:
NumberFormatException - lexicalXSDDoubledouble 치의 캐릭터 라인 표현으로서 무효인 경우

parseBoolean

public static boolean parseBoolean(String  lexicalXSDBoolean)

캐릭터 라인 인수를 boolean 치로 변환합니다.

파라미터:
lexicalXSDBoolean - xsd:boolean 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 boolean 치
예외:
IllegalArgumentException - 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:boolean 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우

parseByte

public static byte parseByte(String  lexicalXSDByte)

캐릭터 라인 인수를 byte 치로 변환합니다.

파라미터:
lexicalXSDByte - xsd:byte 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 byte 치
예외:
IllegalArgumentException - 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:byte 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우

parseQName

public static QName  parseQName(String  lexicalXSDQName,
                               NamespaceContext  nsc)

캐릭터 라인 인수를 Qname 치로 변환합니다.

캐릭터 라인 파라미터 lexicalXSDQname 는,「XML Schema Part 2:Datatypes specification:QNames」로 지정되고 있는 자구치 영역에 준거하고 있을 필요가 있습니다.

파라미터:
lexicalXSDQName - xsd:QName 의 자구 표현을 포함한 캐릭터 라인
nsc - QName 내의 접두사를 해석하기 위한 이름 공간 문맥
반환값:
캐릭터 라인 인수가 나타내는 QName 치
예외:
IllegalArgumentException - 캐릭터 라인 파라미터가 「XML Schema Part 2」스펙에 준거하고 있지 않는 경우, 또는, lexicalXSDQname 의 이름 공간 접두사가 NamespaceContext nsc 내의 URI 에 바인드되어 있지 않은 경우

parseDateTime

public static Calendar  parseDateTime(String  lexicalXSDDateTime)

캐릭터 라인 인수를 Calendar 치로 변환합니다.

파라미터:
lexicalXSDDateTime - xsd:datetime 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 Calendar 객체
예외:
IllegalArgumentException - 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:dateTime 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우

parseBase64Binary

public static byte[] parseBase64Binary(String  lexicalXSDBase64Binary)

캐릭터 라인 인수를 바이트 배열로 변환합니다.

파라미터:
lexicalXSDBase64Binary - xsd:base64Binary 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 바이트 배열
예외:
IllegalArgumentException - 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:base64Binary 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우

parseHexBinary

public static byte[] parseHexBinary(String  lexicalXSDHexBinary)

캐릭터 라인 인수를 바이트 배열로 변환합니다.

파라미터:
lexicalXSDHexBinary - xsd:hexBinary 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 바이트 배열
예외:
IllegalArgumentException - 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:hexBinary 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우

parseUnsignedInt

public static long parseUnsignedInt(String  lexicalXSDUnsignedInt)

캐릭터 라인 인수를 long 치로 변환합니다.

파라미터:
lexicalXSDUnsignedInt - xsd:unsignedInt 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 long 치
예외:
NumberFormatException - 캐릭터 라인 파라미터를 long 치에 구문 분석 할 수 없는 경우

parseUnsignedShort

public static int parseUnsignedShort(String  lexicalXSDUnsignedShort)

캐릭터 라인 인수를 int 치로 변환합니다.

파라미터:
lexicalXSDUnsignedShort - xsd:unsignedShort 의 자구 표현 (을)를 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 int 치
예외:
NumberFormatException - 캐릭터 라인 파라미터를 int 치에 구문 분석 할 수 없는 경우

parseTime

public static Calendar  parseTime(String  lexicalXSDTime)

캐릭터 라인 인수를 Calendar 치로 변환합니다.

파라미터:
lexicalXSDTime - xsd:time 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 Calendar 치
예외:
IllegalArgumentException - 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:time 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우

parseDate

public static Calendar  parseDate(String  lexicalXSDDate)

캐릭터 라인 인수를 Calendar 치로 변환합니다.

파라미터:
lexicalXSDDate - xsd:date 의 자구 표현을 포함한 캐릭터 라인
반환값:
캐릭터 라인 인수가 나타내는 Calendar 치
예외:
IllegalArgumentException - 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:date 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우

parseAnySimpleType

public static String  parseAnySimpleType(String  lexicalXSDAnySimpleType)

단순형의 자구 표현을 포함한 캐릭터 라인을 돌려줍니다.

파라미터:
lexicalXSDAnySimpleType - 단순형의 자구 표현을 포함한다 캐릭터 라인
반환값:
단순형의 자구 표현을 포함한 캐릭터 라인

printString

public static String  printString(String  val)

캐릭터 라인 인수를 캐릭터 라인으로 변환합니다.

파라미터:
val - 캐릭터 라인치
반환값:
xsd:string 의 자구 표현을 포함한 캐릭터 라인

printInteger

public static String  printInteger(BigInteger  val)

BigInteger 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - BigInteger 치
반환값:
xsd:integer 의 자구 표현을 포함한 캐릭터 라인
예외:
IllegalArgumentException - val 가 null 의 경우

printInt

public static String  printInt(int val)

int 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - int 치
반환값:
xsd:int 의 자구 표현을 포함한 캐릭터 라인

printLong

public static String  printLong(long val)

long 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - long 치
반환값:
xsd:long 의 자구 표현을 포함한 캐릭터 라인

printShort

public static String  printShort(short val)

short 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - short 치
반환값:
xsd:short 의 자구 표현을 포함한 캐릭터 라인

printDecimal

public static String  printDecimal(BigDecimal  val)

BigDecimal 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - BigDecimal 치
반환값:
xsd:decimal 의 자구 표현을 포함한 캐릭터 라인
예외:
IllegalArgumentException - val 가 null 의 경우

printFloat

public static String  printFloat(float val)

float 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - float 치
반환값:
xsd:float 의 자구 표현을 포함한 캐릭터 라인

printDouble

public static String  printDouble(double val)

double 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - double 치
반환값:
xsd:double 의 자구 표현을 포함한 캐릭터 라인

printBoolean

public static String  printBoolean(boolean val)

boolean 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - boolean 치
반환값:
xsd:boolean 의 자구 표현을 포함한 캐릭터 라인

printByte

public static String  printByte(byte val)

byte 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - byte 치
반환값:
xsd:byte 의 자구 표현을 포함한 캐릭터 라인

printQName

public static String  printQName(QName  val,
                                NamespaceContext  nsc)

QName 인스턴스를 캐릭터 라인으로 변환합니다.

파라미터:
val - QName 치
nsc - QName 내의 접두사를 해석하기 위한 이름 공간 문맥
반환값:
QName 의 자구 표현을 포함한 캐릭터 라인
예외:
IllegalArgumentException - val 가 null, 또는, nsc 가 null 이외, 또는,nsc.getPrefix(nsprefixFromVal) 가 null 의 경우

printDateTime

public static String  printDateTime(Calendar  val)

Calendar 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - Calendar 치
반환값:
xsd:dateTime 의 자구 표현을 포함한 캐릭터 라인
예외:
IllegalArgumentException - val 가 null 의 경우

printBase64Binary

public static String  printBase64Binary(byte[] val)

바이트 배열을 캐릭터 라인으로 변환합니다.

파라미터:
val - 바이트 배열
반환값:
xsd:base64Binary 의 자구 표현을 포함한 캐릭터 라인
예외:
IllegalArgumentException - val 가 null 의 경우

printHexBinary

public static String  printHexBinary(byte[] val)

바이트 배열을 캐릭터 라인으로 변환합니다.

파라미터:
val - 바이트 배열
반환값:
xsd:hexBinary 의 자구 표현을 포함한 캐릭터 라인
예외:
IllegalArgumentException - val 가 null 의 경우

printUnsignedInt

public static String  printUnsignedInt(long val)

long 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - long 치
반환값:
xsd:unsignedInt 의 자구 표현을 포함한 캐릭터 라인

printUnsignedShort

public static String  printUnsignedShort(int val)

int 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - int 치
반환값:
xsd:unsignedShort 의 자구 표현을 포함한 캐릭터 라인

printTime

public static String  printTime(Calendar  val)

Calendar 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - Calendar 치
반환값:
xsd:time 의 자구 표현을 포함한 캐릭터 라인
예외:
IllegalArgumentException - val 가 null 의 경우

printDate

public static String  printDate(Calendar  val)

Calendar 치를 캐릭터 라인으로 변환합니다.

파라미터:
val - Calendar 치
반환값:
xsd:date 의 자구 표현을 포함한 캐릭터 라인
예외:
IllegalArgumentException - val 가 null 의 경우

printAnySimpleType

public static String  printAnySimpleType(String  val)

캐릭터 라인치를 캐릭터 라인으로 변환합니다.

파라미터:
val - 캐릭터 라인치
반환값:
xsd:AnySimpleType 의 자구 표현을 포함한 캐릭터 라인

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