38.5. Fixed Value Attribute Mapping


38.5.1. 개요

기본적으로 코드 생성기는 고정 값을 일반 속성에 맞게 사용하는 것으로 정의된 특성을 매핑합니다.By default, the code generators map attributes defined as having a fixed value to normal properties. 스키마 유효성 검사를 사용하는 경우 Apache CXF는 스키마 정의를 적용할 수 있습니다( 24.3.4.7절. “스키마 유효성 검사 유형 값”참조). 그러나 스키마 유효성 검사를 사용하면 메시지 처리 시간이 증가합니다.

고정 값이 있는 속성을 Java에 매핑하는 또 다른 방법은 Java 상수에 매핑하는 것입니다. globalBindings 사용자 지정 요소를 사용하여 고정 값 속성을 Java 상수에 매핑하도록 코드 생성기에 지시할 수 있습니다. property 요소를 사용하여 보다 지역화된 수준에서 Java 상수에 고정 값 속성의 매핑을 사용자 지정할 수도 있습니다.

38.5.2. 글로벌 사용자 정의

전역Binding 요소의 fixedAttributeAsConstantProperty 속성을 추가하여 이 동작을 변경할 수 있습니다. 이 속성을 true 로 설정하면 고정 특성을 사용하여 정의된 모든 속성을 Java 상수에 매핑하도록 코드 생성기가 지시합니다.

예 38.21. “in-Line Customization to Force Generation of Constants” 코드 생성기가 고정 값을 사용하여 속성에 대해 상수를 생성하도록 강제 적용하는 인라인 사용자 지정을 보여줍니다.

예 38.21. in-Line Customization to Force Generation of Constants

<schema targetNamespace="http://widget.com/types/widgetTypes"
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
        jaxb:version="2.0">
  <annotation>
    <appinfo>
      <jaxb:globalBindings fixedAttributeAsConstantProperty="true" />
    </appinfo>
  </annotation>
  ...
</schema>
Copy to Clipboard

예 38.22. “파일의 강제 적용에 파일 바인딩” 고정 속성의 생성을 사용자 지정하는 외부 바인딩 파일을 보여줍니다.

예 38.22. 파일의 강제 적용에 파일 바인딩

<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               jaxb:version="2.0">
  <jaxb:bindings schemaLocation="types.xsd">
    <jaxb:globalBindings fixedAttributeAsConstantProperty="true" />
  <jaxb:bindings>
<jaxb:bindings>
Copy to Clipboard

38.5.3. 로컬 매핑

속성 요소의 fixedAttributeAsConstantProperty 속성 을 사용하여 특성 매핑을 특성별로 사용자 지정할 수 있습니다. 이 속성을 true 로 설정하면 고정 특성을 사용하여 정의된 모든 속성을 Java 상수에 매핑하도록 코드 생성기가 지시합니다.

예 38.23. “in-Line Customization to Force Generation of Constants” 코드 생성기가 고정된 값으로 단일 속성에 대해 상수를 생성하도록 강제 적용하는 인라인 사용자 지정을 보여줍니다.

예 38.23. in-Line Customization to Force Generation of Constants

<schema targetNamespace="http://widget.com/types/widgetTypes"
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
        jaxb:version="2.0">
  <complexType name="widgetAttr">
    <sequence>
      ...
    </sequence>
    <attribute name="fixer" type="xsd:int" fixed="7">
      <annotation> <appinfo> <jaxb:property fixedAttributeAsConstantProperty="true" /> </appinfo> </annotation>
     </attribute>
  </complexType>
  ...
</schema>
Copy to Clipboard

예 38.24. “파일의 강제 적용에 파일 바인딩” 고정 속성의 생성을 사용자 지정하는 외부 바인딩 파일을 표시합니다.

예 38.24. 파일의 강제 적용에 파일 바인딩

<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               jaxb:version="2.0">
  <jaxb:bindings schemaLocation="types.xsd">
    <jaxb:bindings node="xsd:complexType[@name='widgetAttr']">
      <jaxb:bindings node="xsd:attribute[@name='fixer']">
            <jaxb:property fixedAttributeAsConstantProperty="true" />
        </jaxb:bindings>
    </jaxb:bindings>
  </jaxb:bindings>
<jaxb:bindings>
Copy to Clipboard

38.5.4. Java 매핑

기본 매핑에서 모든 속성은 getter 및 setter 메서드를 사용하여 표준 Java 속성에 매핑됩니다. 이 사용자 지정이 고정 특성을 사용하여 정의된 속성에 적용되는 경우 예 38.25. “고정 값 속성을 Java Constant에 매핑” 에서와 같이 속성이 Java 상수에 매핑됩니다.

예 38.25. 고정 값 속성을 Java Constant에 매핑

@XmlAttribute
public final static type NAME = value;
Copy to Clipboard

유형34.1절. “기본 유형” 에서 설명하는 매핑을 사용하여 특성의 기본 유형을 Java 유형에 매핑하여 결정됩니다.

NAME특성 요소의 name 속성 값을 모든 대문자로 변환하여 결정됩니다.

값은 특성 요소의 고정 특성 값에 따라 결정됩니다.

예를 들어 예 38.23. “in-Line Customization to Force Generation of Constants” 에 정의된 속성은 예 38.26. “고정 값 특성을 Java Constant로 매핑” 로 매핑됩니다.

예 38.26. 고정 값 특성을 Java Constant로 매핑

@XmlRootElement(name = "widgetAttr")
public class WidgetAttr {

    ...

  @XmlAttribute
  public final static int FIXER = 7;

  ...

}
Copy to Clipboard
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat