Annotation Type XmlElementsJoinNodes


  • @Target({METHOD,FIELD})
    @Retention(RUNTIME)
    public @interface XmlElementsJoinNodes
    XmlElementsJoinNodes is used in conjunction with XmlElements in order to specify the key references for the targets of the XmlElements annotation. There must be one XmlJoinNodes for each XmlElement This is similar to using XmlIDREF with XmlElements but allows customisation of the xpath for the source keys and allows for composite key relationships.

    Example:

     @XmlRootElement
     public class Client {
    
       ...
    
       @XmlElements({
           @XmlElement(name="mail", type=Address.class),
           @XmlElement(name="phone", type=PhoneNumber.class)
       })
       @XmlElementsJoinNodes({
           @XmlJoinNodes({
               @XmlJoinNode(xmlPath="mail/@id", referencedXmlPath="@aid"),
               @XmlJoinNode(xmlPath="mail/type/text()", referencedXmlPath="@type")
           }),
           @XmlJoinNodes({
               @XmlJoinNode(xmlPath="phone/@id", referencedXmlPath="@pid"),
               @XmlJoinNode(xmlPath="phone/type/text()", referencedXmlPath="@type")
           })
       })
       public Object preferredContactMethod;
     
    See Also:
    XmlJoinNodes, XmlJoinNode, XmlElements, XmlKey
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      XmlJoinNodes[] value