在jaxb-impl中,我可以得到一個RuntimeTypeInfoSet對象,它可以用來從xml元數據映射到適當的java反射數據。什麼是moxy的等價物。moxy:什麼是RuntimeTypeInfoSet相當於
更新:我的用例是找到一個映射到元素名稱的屬性。我當然可以通過使用java反射來實現,但這很麻煩。
在jaxb-impl中,我可以得到一個RuntimeTypeInfoSet對象,它可以用來從xml元數據映射到適當的java反射數據。什麼是moxy的等價物。moxy:什麼是RuntimeTypeInfoSet相當於
更新:我的用例是找到一個映射到元素名稱的屬性。我當然可以通過使用java反射來實現,但這很麻煩。
說明:我是EclipseLink JAXB (MOXy)的領導和JAXB 2 (JSR-222)專家組的成員。
的EclipseLink JAXB(MOXY)不具有直接等同於下面的類:
com.sun.xml.bind.v2.model.runtime.RuntimeTypeInfoSet
似乎類的目的是提供給內省的裝置JAXB爲特定模型映射元數據。我已經打開了以下增強功能請求,以將此功能添加到MOXY。
有被設定本地對象(Project
,Descriptor
,並Mapping
),該保持MOXY到下方的蓋來表示元數據。如果你可以擴大你的問題來表明你在找什麼,我可以幫你找到它。
UPDATE
UPDATE:我的使用情況發現,映射到一個元素 名稱的屬性。我當然可以通過使用java反射來實現,但它很麻煩。
對於延遲響應,我表示歉意。我沒有注意到,您的問題更多的信息更新:
客戶
我們將使用類,並得到相應的last-name
元素屬性名稱。
package forum9992419;
import javax.xml.bind.annotation.*;
@XmlRootElement
public class Customer {
private String firstName;
private String lastName;
@XmlElement(name="first-name")
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@XmlElement(name="last-name")
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
演示
package forum9992419;
import javax.xml.bind.JAXBContext;
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.jaxb.JAXBHelper;
import org.eclipse.persistence.mappings.DatabaseMapping;
import org.eclipse.persistence.oxm.XMLField;
public class Demo {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance(Customer.class);
AbstractSession session = JAXBHelper.getJAXBContext(jc).getXMLContext().getSession(Customer.class);
ClassDescriptor descriptor = session.getClassDescriptor(Customer.class);
XMLField xmlField = new XMLField("last-name/text()");
DatabaseMapping mapping = descriptor.getObjectBuilder().getMappingForField(xmlField);
System.out.println(mapping.getAttributeName());
}
}
輸出
lastName
謝謝你的詳細解答! – IttayD 2012-04-11 04:05:50