初心者の質問です。dtd ファイル (USPTO dtd) から Java コードを生成しています。DTD はルート要素を次のように指定します。
<!ELEMENT us-patent-grant (doc-page+ | (us-bibliographic-data-grant , abstract* , drawings? , description , us-sequence-list-doc? , us-megatable-doc?,table-external-doc* , us-chemistry* , us-math* ,us-claim-statement , claims))>
次のバインディング スキーマで xjc を実行すると
<?xml version="1.0"?>
<xml-java-binding-schema version="1.0ea2">
<element name="us-patent-grant" type="class" root="true"></element>
</xml-java-binding-schema>
次の Java オブジェクトが生成されているのがわかります
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"docPageOrUsBibliographicDataGrantOrAbstractOrDrawingsOrDescriptionOrUsSequenceListDocOrUsMegatableDocOrTableExternalDocOrUsChemistryOrUsMathOrUsClaimStatementOrClaims"
})
@XmlRootElement(name = "us-patent-grant")
public class UsPatentGrant {
....
@XmlElements({
@XmlElement(name = "doc-page", required = true, type = DocPage.class),
@XmlElement(name = "us-bibliographic-data-grant", required = true, type = UsBibliographicDataGrant.class),
@XmlElement(name = "abstract", required = true, type = Abstract.class),
@XmlElement(name = "drawings", required = true, type = Drawings.class),
@XmlElement(name = "description", required = true, type = Description.class),
@XmlElement(name = "us-sequence-list-doc", required = true, type = UsSequenceListDoc.class),
@XmlElement(name = "us-megatable-doc", required = true, type = UsMegatableDoc.class),
@XmlElement(name = "table-external-doc", required = true, type = TableExternalDoc.class),
@XmlElement(name = "us-chemistry", required = true, type = UsChemistry.class),
@XmlElement(name = "us-math", required = true, type = UsMath.class),
@XmlElement(name = "us-claim-statement", required = true, type = UsClaimStatement.class),
@XmlElement(name = "claims", required = true, type = Claims.class)
})
protected List<Object> docPageOrUsBibliographicDataGrantOrAbstractOrDrawingsOrDescriptionOrUsSequenceListDocOrUsMegatableDocOrTableExternalDocOrUsChemistryOrUsMathOrUsClaimStatementOrClaims;
.........
public List<Object> getDocPageOrUsBibliographicDataGrantOrAbstractOrDrawingsOrDescriptionOrUsSequenceListDocOrUsMegatableDocOrTableExternalDocOrUsChemistryOrUsMathOrUsClaimStatementOrClaims() {
if (docPageOrUsBibliographicDataGrantOrAbstractOrDrawingsOrDescriptionOrUsSequenceListDocOrUsMegatableDocOrTableExternalDocOrUsChemistryOrUsMathOrUsClaimStatementOrClaims == null) {
docPageOrUsBibliographicDataGrantOrAbstractOrDrawingsOrDescriptionOrUsSequenceListDocOrUsMegatableDocOrTableExternalDocOrUsChemistryOrUsMathOrUsClaimStatementOrClaims = new ArrayList<Object>();
}
return this.docPageOrUsBibliographicDataGrantOrAbstractOrDrawingsOrDescriptionOrUsSequenceListDocOrUsMegatableDocOrTableExternalDocOrUsChemistryOrUsMathOrUsClaimStatementOrClaims;
}
だから私の質問は、長いゲッターの名前を変更するにはどうすればよいですか
getDocPageOrUsBibliographicDataGrantOrAbstractOrDrawingsOrDescriptionOrUsSequenceListDocOrUsMegatableDocOrTableExternalDocOrUsChemistryOrUsMathOrUsClaimStatementOrClaims
バインディングスキーマで?
前もって感謝します。