带参数的jaxb getter

时间:2013-05-23 09:13:50

标签: jaxb jax-ws

我已经要求在getter方法中传递参数(在我的情况下是另一个对象)。想知道这是否可能,我怎样才能做到这一点?我正在实现jaxws,这是我的服务器端要求。创建客户端时,getMetaValues(..)方法不可用。 我的代码是

@XmlRootElement
@XmlAccessorType( XmlAccessType.PROPERTY)
public class Revision implements Serializable {
     //other props and getter/setter
private List<Metavalue> metaValues;
@XmlElement    
 //Field is a custom class
public List<Metavalue> getMetaValues(Field field) {       
   metaValues=null;
    if (field!=null) {
        Map<String, Metakey> metadata = getMetadata();
        Metakey metakey = metadata.get(field.getName());
        if (metakey!=null) {
            metaValues = metakey.getMetavalues();
        }
    }        
    return metaValues;
  }
}

谢谢。

1 个答案:

答案 0 :(得分:0)

JAXB(JSR-222)实现需要一个没有参数的get方法。您可以指定@XmlAccessorType(XmlAccessType.FIELD),以便JAXB直接处理该字段。