32.3. 오브젝트 Cryostat
32.3.1. 개요
CryostatB는 개체 팩토리를 사용하여 개체 팩토리 인스턴스를 인스턴스화하는 메커니즘을 제공합니다. 오브젝트 팩토리에는 패키지의 범위에 정의된 모든 XML 스키마 구조를 인스턴스화하는 방법이 포함되어 있습니다. 유일한 예외는 열거가 개체 팩토리에서 생성 메서드를 가져오지 않는다는 것입니다.
32.3.2. 복잡한 유형 팩토리 방법
XML 스키마 복잡한 유형을 구현하기 위해 생성된 각 Java 클래스의 경우 오브젝트 팩토리에는 클래스 인스턴스를 생성하기 위한 메서드가 포함됩니다. 이 방법은 다음 형식을 사용합니다.
typeName createtypeName();
예를 들어 스키마에 widgetType
이라는 복잡한 유형이 포함된 경우 Apache CXF는 이를 구현하기 위해 Cryostat Type
이라는 클래스를 생성합니다. 예 32.5. “복잡한 유형 오브젝트의 항목” 오브젝트 팩토리에서 생성된 생성 방법을 보여줍니다.
예 32.5. 복잡한 유형 오브젝트의 항목
public class ObjectFactory { ... WidgetType createWidgetType() { return new WidgetType(); } ... }
32.3.3. 요소 팩토리 방법
스키마의 전역 범위에 선언된 요소의 경우 Apache CXF는 개체 팩토리에 팩토리 메서드를 삽입합니다. 33장. XML Cryostat 사용 에서 설명한 것처럼 XML 스키마 요소는 Cryostat B Cryostat<T> 오브젝트에 매핑
됩니다. 생성 방법은 다음과 같습니다.
public JAXBElement<elementType> createelementName(elementType value);
예를 들어 xsd:string
유형의 주석
이라는 요소가 있는 경우 Apache CXF는 에 표시된 오브젝트 팩토리 메서드를 생성합니다. 예 32.6. “요소 Object Cryostat Entry”
예 32.6. 요소 Object Cryostat Entry
public class ObjectFactory { ... @XmlElementDecl(namespace = "...", name = "comment") public JAXBElement<String> createComment(String value) { return new JAXBElement<String>(_Comment_QNAME, String.class, null, value); } ... }