読みたい以下の XML があります。Java 1.6 で JAXB を使用して、属性 regex に注釈を付けるにはどうすればよいですか? フィールドをブール型にすることはできますか?
<?xml version="1.0" encoding="utf-8"?>
<authStore>
<authList>
<auth>
<resource>res1</resource>
<privilege regex = "true">PRIV_FILE_.+?_READ</privilege>
</auth>
<auth>
<resource>res2</resource>
<privilege>PRIV_FILE_READ</privilege>
</auth>
</authStore>
更新: 属性をオプションにすることは可能ですか? はいの場合、アンマーシャリングすると、特権要素にオプションの属性 regex がない場合、正規表現フィールドが false になりますか?
UDPATE2 : リソースと特権に別々のクラスを定義したくありません。また、私はMOXyを使いたくありません。お願いします。Sun/Oracle JDK 1.6 JAXB のみのソリューションを提案します。
UPDATE3 : 私の現在のオブジェクト モデルはこのようなものです
// AuthStore.java
@XmlRootElement
public class AuthStore {
@XmlElementWrapper(name = "authList")
@XmlElement(name = "auth")
private ArrayList<Auth> authList;
public void setAuthList(ArrayList<Auth> authList) {
this.authList = authList;
}
public ArrayList<Auth> getAuthsList() {
return authList;
}
}
// Auth.java
@XmlRootElement(name = "auth")
@XmlType(propOrder = { "resource", "privilege" })
public class Auth
{
private String resource;
private String privilege;
@XmlElement(name = "resource")
public String getResource()
{
return resource;
}
public void setResource(String resource)
{
this.resource = resource;
}
@XmlElement(name = "privilege")
public String getPrivilege()
{
return privilege;
}
public void setPrivilege(String author)
{
this.privilege = author;
}
}