32.3. Object Factory


32.3.1. 개요

JAXB는 개체 팩토리를 사용하여 JAXB 생성 생성자의 인스턴스를 인스턴스화하는 메커니즘을 제공합니다. 개체 팩토리에는 패키지의 범위에서 모든 XML 스키마 정의 구문을 인스턴스화하는 메서드가 포함됩니다. 유일한 예외는 개체 팩토리에서 생성 메서드를 가져오지 않는다는 것입니다.The only exception is that enumerations do not get a creation method in the object factory.

32.3.2. 복잡한 유형 팩토리 방법

XML 스키마 복잡한 형식을 구현하기 위해 생성된 각 Java 클래스에 대해 개체 팩토리에는 클래스 인스턴스를 만드는 메서드가 포함됩니다. 이 메서드는 다음과 같은 형식을 취합니다.This method takes the form:

typeName createtypeName();

예를 들어 스키마에 widgetType 이라는 복잡한 유형이 포함된 경우 Apache CXF는 이를 구현하기 위해 widget Type 이라는 클래스를 생성합니다. 예 32.5. “복잡한 Type Object Factory Entry” 개체 팩토리에서 생성된 생성 방법을 보여줍니다.

예 32.5. 복잡한 Type Object Factory Entry

public class ObjectFactory
{
  ...
  WidgetType createWidgetType()
  {
    return new WidgetType();
  }
  ...
}

32.3.3. 요소 팩토리 방법

스키마의 전역 범위에 선언되는 요소의 경우 Apache CXF는 개체 팩토리에 팩토리 메서드를 삽입합니다. 33장. XML Elements 사용 에서 설명한 것처럼 XML 스키마 요소는 JAXBElement<T> 오브젝트에 매핑 됩니다. 생성 방법은 다음과 같은 형식을 사용합니다.

public JAXBElement<elementType> createelementName(elementType value);

예를 들어 xsd:string주석 이라는 요소가 있는 경우 Apache CXF는 에 표시된 개체 팩토리 메서드를 생성합니다. 예 32.6. “element Object Factory Entry”

예 32.6. element Object Factory Entry

public class ObjectFactory
{
    ...
    @XmlElementDecl(namespace = "...", name = "comment")
    public JAXBElement<String> createComment(String value) {
        return new JAXBElement<String>(_Comment_QNAME, String.class, null, value);
    }
    ...
}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.