|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.xml.bind.DatatypeConverter
public final class DatatypeConverter
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 할 필요가 있습니다.
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 |
메소드의 상세 |
---|
public static void setDatatypeConverter(DatatypeConverterInterface converter)
JAXB 프로바이더는, JAXB 클라이언트의 정렬화 또는 비정렬화 조작의 실행이 허가되기 전이 있는 시점에서, 이 메소드를 호출할 필요가 있습니다. 이것은, 출력 및 해석 변환을 실행하는데 있어서 사용해야 할 데이터형 컨버터를 설정하기 위해서 필요하게 됩니다.
이 API 를 반복해 호출해도 효과는 없습니다. 최초의 호출에게 건네진 DatatypeConverterInterface 인스턴스가, 그 이후 사용되는 인스턴스입니다.
converter
- DatatypeConverterInterface 클래스를 구현한다
클래스의 인스턴스. 이 파라미터는 null 는 불가
IllegalArgumentException
- 파라미터가 null 의 경우public static String parseString(String lexicalXSDString)
자구 XSD 캐릭터 라인 인수를 String 치로 변환합니다.
lexicalXSDString
- xsd:string 의 자구 표현을 포함한 캐릭터 라인
public static BigInteger parseInteger(String lexicalXSDInteger)
캐릭터 라인 인수를 BigInteger 치로 변환합니다.
lexicalXSDInteger
- xsd:integer 의 자구 표현을 포함한 캐릭터 라인
NumberFormatException
- lexicalXSDInteger
가 BigInteger
치의 캐릭터 라인 표현으로서 무효인 경우public static int parseInt(String lexicalXSDInt)
캐릭터 라인 인수를 int 치로 변환합니다.
lexicalXSDInt
- xsd:int 의 자구 표현을 포함한 캐릭터 라인
NumberFormatException
- lexicalXSDInt
가 int
치의 캐릭터 라인 표현으로서 무효인 경우public static long parseLong(String lexicalXSDLong)
캐릭터 라인 인수를 long 치로 변환합니다.
lexicalXSDLong
- xsd:long 의 자구 표현을 포함한 캐릭터 라인
NumberFormatException
- lexicalXSDLong
가 long
치의 캐릭터 라인 표현으로서 무효인 경우public static short parseShort(String lexicalXSDShort)
캐릭터 라인 인수를 short 치로 변환합니다.
lexicalXSDShort
- xsd:short 의 자구 표현을 포함한 캐릭터 라인
NumberFormatException
- lexicalXSDShort
가 short
치의 캐릭터 라인 표현으로서 무효인 경우public static BigDecimal parseDecimal(String lexicalXSDDecimal)
캐릭터 라인 인수를 BigDecimal 치로 변환합니다.
lexicalXSDDecimal
- xsd:decimal 의 자구 표현을 포함한 캐릭터 라인
NumberFormatException
- lexicalXSDDecimal
가 BigDecimal
의 캐릭터 라인 표현으로서 무효인 경우public static float parseFloat(String lexicalXSDFloat)
캐릭터 라인 인수를 float 치로 변환합니다.
lexicalXSDFloat
- xsd:float 의 자구 표현을 포함한 캐릭터 라인
NumberFormatException
- lexicalXSDFloat
가 float
치의 캐릭터 라인 표현으로서 무효인 경우public static double parseDouble(String lexicalXSDDouble)
캐릭터 라인 인수를 double 치로 변환합니다.
lexicalXSDDouble
- xsd:double 의 자구 표현을 포함한 캐릭터 라인
NumberFormatException
- lexicalXSDDouble
가 double
치의 캐릭터 라인 표현으로서 무효인 경우public static boolean parseBoolean(String lexicalXSDBoolean)
캐릭터 라인 인수를 boolean 치로 변환합니다.
lexicalXSDBoolean
- xsd:boolean 의 자구 표현을 포함한 캐릭터 라인
IllegalArgumentException
- 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:boolean 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우public static byte parseByte(String lexicalXSDByte)
캐릭터 라인 인수를 byte 치로 변환합니다.
lexicalXSDByte
- xsd:byte 의 자구 표현을 포함한 캐릭터 라인
IllegalArgumentException
- 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:byte 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우public static QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
캐릭터 라인 인수를 Qname 치로 변환합니다.
캐릭터 라인 파라미터 lexicalXSDQname 는,「XML Schema Part 2:Datatypes specification:QNames」로 지정되고 있는 자구치 영역에 준거하고 있을 필요가 있습니다.
lexicalXSDQName
- xsd:QName 의 자구 표현을 포함한 캐릭터 라인nsc
- QName 내의 접두사를 해석하기 위한 이름 공간 문맥
IllegalArgumentException
- 캐릭터 라인 파라미터가 「XML Schema Part 2」스펙에 준거하고 있지 않는 경우, 또는,
lexicalXSDQname 의 이름 공간 접두사가 NamespaceContext nsc 내의 URI 에 바인드되어 있지 않은 경우public static Calendar parseDateTime(String lexicalXSDDateTime)
캐릭터 라인 인수를 Calendar 치로 변환합니다.
lexicalXSDDateTime
- xsd:datetime 의 자구 표현을 포함한 캐릭터 라인
IllegalArgumentException
- 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:dateTime 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우public static byte[] parseBase64Binary(String lexicalXSDBase64Binary)
캐릭터 라인 인수를 바이트 배열로 변환합니다.
lexicalXSDBase64Binary
- xsd:base64Binary 의 자구 표현을 포함한 캐릭터 라인
IllegalArgumentException
- 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:base64Binary 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우public static byte[] parseHexBinary(String lexicalXSDHexBinary)
캐릭터 라인 인수를 바이트 배열로 변환합니다.
lexicalXSDHexBinary
- xsd:hexBinary 의 자구 표현을 포함한 캐릭터 라인
IllegalArgumentException
- 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:hexBinary 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우public static long parseUnsignedInt(String lexicalXSDUnsignedInt)
캐릭터 라인 인수를 long 치로 변환합니다.
lexicalXSDUnsignedInt
- xsd:unsignedInt 의 자구 표현을 포함한 캐릭터 라인
NumberFormatException
- 캐릭터 라인 파라미터를 long 치에 구문 분석 할 수 없는 경우public static int parseUnsignedShort(String lexicalXSDUnsignedShort)
캐릭터 라인 인수를 int 치로 변환합니다.
lexicalXSDUnsignedShort
- xsd:unsignedShort 의 자구 표현
(을)를 포함한 캐릭터 라인
NumberFormatException
- 캐릭터 라인 파라미터를 int 치에 구문 분석 할 수 없는 경우public static Calendar parseTime(String lexicalXSDTime)
캐릭터 라인 인수를 Calendar 치로 변환합니다.
lexicalXSDTime
- xsd:time 의 자구 표현을 포함한 캐릭터 라인
IllegalArgumentException
- 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:time 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우public static Calendar parseDate(String lexicalXSDDate)
캐릭터 라인 인수를 Calendar 치로 변환합니다.
lexicalXSDDate
- xsd:date 의 자구 표현을 포함한 캐릭터 라인
IllegalArgumentException
- 캐릭터 라인 파라미터가 「XML Schema Part 2: Datatypes」의 xsd:date 에 관한 스펙으로 정의된 자구치 영역에 준거하고 있지 않는 경우public static String parseAnySimpleType(String lexicalXSDAnySimpleType)
단순형의 자구 표현을 포함한 캐릭터 라인을 돌려줍니다.
lexicalXSDAnySimpleType
- 단순형의 자구 표현을 포함한다
캐릭터 라인
public static String printString(String val)
캐릭터 라인 인수를 캐릭터 라인으로 변환합니다.
val
- 캐릭터 라인치
public static String printInteger(BigInteger val)
BigInteger 치를 캐릭터 라인으로 변환합니다.
val
- BigInteger 치
IllegalArgumentException
- val 가 null 의 경우public static String printInt(int val)
int 치를 캐릭터 라인으로 변환합니다.
val
- int 치
public static String printLong(long val)
long 치를 캐릭터 라인으로 변환합니다.
val
- long 치
public static String printShort(short val)
short 치를 캐릭터 라인으로 변환합니다.
val
- short 치
public static String printDecimal(BigDecimal val)
BigDecimal 치를 캐릭터 라인으로 변환합니다.
val
- BigDecimal 치
IllegalArgumentException
- val 가 null 의 경우public static String printFloat(float val)
float 치를 캐릭터 라인으로 변환합니다.
val
- float 치
public static String printDouble(double val)
double 치를 캐릭터 라인으로 변환합니다.
val
- double 치
public static String printBoolean(boolean val)
boolean 치를 캐릭터 라인으로 변환합니다.
val
- boolean 치
public static String printByte(byte val)
byte 치를 캐릭터 라인으로 변환합니다.
val
- byte 치
public static String printQName(QName val, NamespaceContext nsc)
QName 인스턴스를 캐릭터 라인으로 변환합니다.
val
- QName 치nsc
- QName 내의 접두사를 해석하기 위한 이름 공간 문맥
IllegalArgumentException
- val 가 null, 또는,
nsc 가 null 이외, 또는,nsc.getPrefix(nsprefixFromVal) 가 null 의 경우public static String printDateTime(Calendar val)
Calendar 치를 캐릭터 라인으로 변환합니다.
val
- Calendar 치
IllegalArgumentException
- val 가 null 의 경우public static String printBase64Binary(byte[] val)
바이트 배열을 캐릭터 라인으로 변환합니다.
val
- 바이트 배열
IllegalArgumentException
- val 가 null 의 경우public static String printHexBinary(byte[] val)
바이트 배열을 캐릭터 라인으로 변환합니다.
val
- 바이트 배열
IllegalArgumentException
- val 가 null 의 경우public static String printUnsignedInt(long val)
long 치를 캐릭터 라인으로 변환합니다.
val
- long 치
public static String printUnsignedShort(int val)
int 치를 캐릭터 라인으로 변환합니다.
val
- int 치
public static String printTime(Calendar val)
Calendar 치를 캐릭터 라인으로 변환합니다.
val
- Calendar 치
IllegalArgumentException
- val 가 null 의 경우public static String printDate(Calendar val)
Calendar 치를 캐릭터 라인으로 변환합니다.
val
- Calendar 치
IllegalArgumentException
- val 가 null 의 경우public static String printAnySimpleType(String val)
캐릭터 라인치를 캐릭터 라인으로 변환합니다.
val
- 캐릭터 라인치
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.