38.5. 自定义修复的值属性映射
概述 复制链接链接已复制到粘贴板!
默认情况下,代码生成器映射属性定义为将固定值定义为正常属性。在使用架构验证时,Apache CXF 可以强制执行 schema 定义(请参阅 第 24.3.4.7 节 “模式验证类型值”)。但是,使用 schema 验证会增加消息处理时间。
将带有固定值的属性映射到 Java 的另一种方法是将它们映射到 Java 常量。您可以使用 全局Binding 自定义元素指示代码生成器将固定值属性映射到 Java
常量。您还可以使用 property
元素自定义在更本地化级别上固定值属性到 Java 常量的映射。
全球自定义 复制链接链接已复制到粘贴板!
您可以通过添加 globalBinding
元素的 fixedAttributeAsConstantProperty
属性来更改此行为。将此属性设置为 true
会指示代码生成器将使用 固定
属性定义的任何属性映射到 Java 常量。
例 38.21 “在线自定义以强制生成 Constants” 显示在线自定义,可强制代码生成器为带有固定值的属性生成常量。
例 38.21. 在线自定义以强制生成 Constants
例 38.22 “将文件绑定到强制生成 Constants” 显示用来自定义固定属性生成的外部绑定文件。
例 38.22. 将文件绑定到强制生成 Constants
本地映射 复制链接链接已复制到粘贴板!
您可以使用属性元素的 fixedAttributeAsConstantProperty
属性
来自定义每个attribute 的属性映射。将此属性设置为 true
会指示代码生成器将使用 固定
属性定义的任何属性映射到 Java 常量。
例 38.23 “在线自定义以强制生成 Constants” 显示在线自定义,可强制代码生成器为具有固定值的单个属性生成常量。
例 38.23. 在线自定义以强制生成 Constants
例 38.24 “将文件绑定到强制生成 Constants” 显示用来自定义固定属性生成的外部绑定文件。
例 38.24. 将文件绑定到强制生成 Constants
Java 映射 复制链接链接已复制到粘贴板!
在默认映射中,所有属性都通过 getter 和 setter 方法映射到标准的 Java 属性。当此自定义应用到 使用固定
属性定义的属性时,属性映射到 Java 常量,如 例 38.25 “将修复的值属性映射到 Java Constant” 所示。
例 38.25. 将修复的值属性映射到 Java Constant
@XmlAttribute public final static type NAME = value;
@XmlAttribute
public final static type NAME = value;
Type 由使用 第 34.1 节 “原语类型” 中描述的映射将属性的基本类型映射到 Java 类型来确定。
NAME 通过将 属性
元素的 name
属性的值转换为所有大写字母来确定。
值 由 属性
元素 的固定
属性的值决定。
例如,例 38.23 “在线自定义以强制生成 Constants” 中定义的属性映射为 例 38.26 “修复了映射到 Java Constant 的 Value Attribute” 所示。
例 38.26. 修复了映射到 Java Constant 的 Value Attribute