xmlidref.html

来自「j2ee帮助文档软件设计/软件工程 文件格式」· HTML 代码 · 共 386 行

HTML
386
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0_14) on Mon Jan 28 05:46:59 PST 2008 --><TITLE>XmlIDREF (Java EE 5)</TITLE><META NAME="keywords" CONTENT="javax.xml.bind.annotation.XmlIDREF class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){    parent.document.title="XmlIDREF (Java EE 5)";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">  <TR ALIGN="center" VALIGN="top">  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../../../javax/xml/bind/annotation/XmlID.html" title="annotation in javax.xml.bind.annotation"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../../../javax/xml/bind/annotation/XmlInlineBinaryData.html" title="annotation in javax.xml.bind.annotation"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../../index.html?javax/xml/bind/annotation/XmlIDREF.html" target="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="XmlIDREF.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;&nbsp;<SCRIPT type="text/javascript">  <!--  if(window==top) {    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');  }  //--></SCRIPT><NOSCRIPT>  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">  SUMMARY:&nbsp;REQUIRED&nbsp;|&nbsp;OPTIONAL</FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL:&nbsp;ELEMENT</FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">javax.xml.bind.annotation</FONT><BR>Annotation Type XmlIDREF</H2><HR><DL><DT><PRE><FONT SIZE="-1"><A HREF="http://java.sun.com/j2se/1.5/docs/api/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation">@Retention</A>(<A HREF="http://java.sun.com/j2se/1.5/docs/api/java/lang/annotation/Retention.html#value()" title="class or interface in java.lang.annotation">value</A>=<A HREF="http://java.sun.com/j2se/1.5/docs/api/java/lang/annotation/RetentionPolicy.html#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</A>)<A HREF="http://java.sun.com/j2se/1.5/docs/api/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation">@Target</A>(<A HREF="http://java.sun.com/j2se/1.5/docs/api/java/lang/annotation/Target.html#value()" title="class or interface in java.lang.annotation">value</A>={<A HREF="http://java.sun.com/j2se/1.5/docs/api/java/lang/annotation/ElementType.html#FIELD" title="class or interface in java.lang.annotation">FIELD</A>,<A HREF="http://java.sun.com/j2se/1.5/docs/api/java/lang/annotation/ElementType.html#METHOD" title="class or interface in java.lang.annotation">METHOD</A>})</FONT>public @interface <B>XmlIDREF</B></DL></PRE><P><p> Maps a JavaBean property to XML IDREF.  <p> To preserve referential integrity of an object graph across XML serialization followed by a XML deserialization, requires an object reference to be marshalled by reference or containment appropriately. Annotations <tt>&#64;XmlID</tt> and <tt>&#64;XmlIDREF</tt> together allow a customized mapping of a JavaBean property's type by containment or reference.  <p><b>Usage</b> </p> The <tt>&#64;XmlIDREF</tt> annotation can be used with the following program elements:  <ul>    <li> a JavaBean property </li>   <li> non static, non transient field </li> </ul>  <p>See "Package Specification" in javax.xml.bind.package javadoc for additional common information.</p> <p> The usage is subject to the following constraints: <ul>   <li> If the type of the field or property is a collection type,        then the collection item type must contain a property or        field annotated with <tt>&#64;XmlID</tt>.  </li>    <li> If the field or property is single valued, then the type of        the property or field must contain a property or field        annotated with <tt>&#64;XmlID</tt>.        <p>Note: If the collection item type or the type of the        property (for non collection type) is java.lang.Object, then        the instance must contain a property/field annotated with        <tt>&#64;XmlID</tt> attribute.          </li>   <li> This annotation can be used with the following annotations:        <A HREF="../../../../javax/xml/bind/annotation/XmlElement.html" title="annotation in javax.xml.bind.annotation"><CODE>XmlElement</CODE></A>, <A HREF="../../../../javax/xml/bind/annotation/XmlAttribute.html" title="annotation in javax.xml.bind.annotation"><CODE>XmlAttribute</CODE></A>, <A HREF="../../../../javax/xml/bind/annotation/XmlList.html" title="annotation in javax.xml.bind.annotation"><CODE>XmlList</CODE></A>,         and <A HREF="../../../../javax/xml/bind/annotation/XmlElements.html" title="annotation in javax.xml.bind.annotation"><CODE>XmlElements</CODE></A>.</li>   </ul> <p><b>Example:</b> Map a JavaBean property to <tt>xs:IDREF</tt>   (i.e. by reference rather than by containment)</p> <pre>   //EXAMPLE: Code fragment   public class Shipping {       &#64;XmlIDREF public Customer getCustomer();       public void setCustomer(Customer customer);       ....    }   &lt;!-- Example: XML Schema fragment -->   &lt;xs:complexType name="Shipping">     &lt;xs:complexContent>       &lt;xs:sequence>         &lt;xs:element name="customer" type="xs:IDREF"/>         ....       &lt;/xs:sequence>     &lt;/xs:complexContent>   &lt;/xs:complexType> </pre> <p><b>Example 2: </b> The following is a complete example of containment versus reference.  <pre>    // By default, Customer maps to complex type <tt>xs:Customer</tt>    public class Customer {                // map JavaBean property type to <tt>xs:ID</tt>        &#64;XmlID public String getCustomerID();        public void setCustomerID(String id);        // .... other properties not shown     }   // By default, Invoice maps to a complex type <tt>xs:Invoice</tt>    public class Invoice {           // map by reference       &#64;XmlIDREF public Customer getCustomer();              public void setCustomer(Customer customer);      // .... other properties not shown here   }   // By default, Shipping maps to complex type <tt>xs:Shipping</tt>   public class Shipping {       // map by reference       &#64;XmlIDREF public Customer getCustomer();              public void setCustomer(Customer customer);   }   // at least one class must reference Customer by containment;   // Customer instances won't be marshalled.   &#64;XmlElement(name="CustomerData")   public class CustomerData {       // map reference to Customer by containment by default.       public Customer getCustomer();       // maps reference to Shipping by containment by default.        public Shipping getShipping();            // maps reference to Invoice by containment by default.        public Invoice getInvoice();        }   &lt;!-- XML Schema mapping for above code frament -->   &lt;xs:complexType name="Invoice">     &lt;xs:complexContent>       &lt;xs:sequence>         &lt;xs:element name="customer" type="xs:IDREF"/>         ....       &lt;/xs:sequence>     &lt;/xs:complexContent>   &lt;/xs:complexType>   &lt;xs:complexType name="Shipping">     &lt;xs:complexContent>       &lt;xs:sequence>         &lt;xs:element name="customer" type="xs:IDREF"/>         ....       &lt;/xs:sequence>     &lt;/xs:complexContent>   &lt;/xs:complexType>   &lt;xs:complexType name="Customer">     &lt;xs:complexContent>       &lt;xs:sequence>         ....       &lt;/xs:sequence>       &lt;xs:attribute name="CustomerID" type="xs:ID"/>     &lt;/xs:complexContent>   &lt;/xs:complexType>   &lt;xs:complexType name="CustomerData">     &lt;xs:complexContent>       &lt;xs:sequence>         &lt;xs:element name="customer" type="xs:Customer"/>         &lt;xs:element name="shipping" type="xs:Shipping"/>         &lt;xs:element name="invoice"  type="xs:Invoice"/>       &lt;/xs:sequence>     &lt;/xs:complexContent>   &lt;/xs:complexType>   &lt;xs:element name"customerData" type="xs:CustomerData"/>   &lt;!-- Instance document conforming to the above XML Schema -->    &lt;customerData>       &lt;customer customerID="Alice">           ....       &lt;/customer>       &lt;shipping customer="Alice">           ....       &lt;/shipping>                &lt;invoice customer="Alice">           ....       &lt;/invoice>   &lt;/customerData> </pre> <p><b>Example 3: </b> Mapping List to repeating element of type IDREF <pre>     // Code fragment     public class Shipping {         &#64;XmlIDREF         &#64;XmlElement(name="Alice")             public List customers;     }     &lt;!-- XML schema fragment -->     &lt;xs:complexType name="Shipping">       &lt;xs:sequence>         &lt;xs:choice minOccurs="0" maxOccurs="unbounded">           &lt;xs:element name="Alice" type="xs:IDREF"/>         &lt;/xs:choice>       &lt;/xs:sequence>     &lt;/xs:complexType>  </pre> <p><b>Example 4: </b> Mapping a List to a list of elements of type IDREF. <pre>     //Code fragment     public class Shipping {         &#64;XmlIDREF         &#64;XmlElements(             &#64;XmlElement(name="Alice", type="Customer.class")              &#64;XmlElement(name="John", type="InternationalCustomer.class")         public List customers;     }     &lt;!-- XML Schema fragment -->     &lt;xs:complexType name="Shipping">       &lt;xs:sequence>         &lt;xs:choice minOccurs="0" maxOccurs="unbounded">           &lt;xs:element name="Alice" type="xs:IDREF"/>           &lt;xs:element name="John" type="xs:IDREF"/>         &lt;/xs:choice>       &lt;/xs:sequence>     &lt;/xs:complexType>  </pre><P><P><DL><DT><B>Since:</B></DT>  <DD>JAXB2.0</DD><DT><B>Version:</B></DT>  <DD>$Revision: 1.12 $</DD><DT><B>Author:</B></DT>  <DD>Sekhar Vajjhala, Sun Microsystems, Inc.</DD><DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/bind/annotation/XmlID.html" title="annotation in javax.xml.bind.annotation"><CODE>XmlID</CODE></A></DL><P><P><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">  <TR ALIGN="center" VALIGN="top">  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../../../javax/xml/bind/annotation/XmlID.html" title="annotation in javax.xml.bind.annotation"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../../../javax/xml/bind/annotation/XmlInlineBinaryData.html" title="annotation in javax.xml.bind.annotation"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../../index.html?javax/xml/bind/annotation/XmlIDREF.html" target="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="XmlIDREF.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;&nbsp;<SCRIPT type="text/javascript">  <!--  if(window==top) {    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');  }  //--></SCRIPT><NOSCRIPT>  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">  SUMMARY:&nbsp;REQUIRED&nbsp;|&nbsp;OPTIONAL</FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL:&nbsp;ELEMENT</FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR><font size="-1"><a href="http://java.sun.com/webapps/bugreport">Submit a bug or feature</a> <p>Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to <a href="../legal/license.html" target="_top">license terms.</a></font></BODY></HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?