/*******************************************************************************
 * Copyright (c) 2011 Oracle. All rights reserved.
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
 * which accompanies this distribution.
 * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
 * and the Eclipse Distribution License is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * Contributors:
 * dmccann - September 14/2010 - 2.2 - Initial implementation
 ******************************************************************************/
package org.eclipse.persistence.oxm.annotations;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

@Target({METHOD, FIELD}) 
@Retention(RUNTIME)
public @interface XmlKey {}
@@ -1000,16 +1000,935 @@
 arget;%0D%0A
+/**%0D%0A * %3Cp%3EXmlKey is used to mark a property as a key, to be referenced using a key-based mapping via %7B@code XmlJoinNode%7D. This is%0D%0A * similar to the %7B@code XmlID%7D annotation, but doesn't require the property be bound to the schema type ID. XmlKey is %0D%0A * typically used in the composite key use case, since only 1 property can be annotated with the XmlID annotation.%0D%0A * %3C/p%3E %0D%0A * %0D%0A * %3Cp%3E%3Cb%3EExample:%3C/b%3E%0D%0A * %3Cpre%3E%0D%0A * &#64;XmlRootElement %0D%0A * &#64;XmlAccessorType(XmlAccessType.FIELD)%0D%0A * public class Employee %7B%0D%0A *     %0D%0A *     &#64;XmlKey%0D%0A *     public String id;%0D%0A *%0D%0A *     &#64;XmlKey%0D%0A *     public String department;%0D%0A *     %0D%0A *     &#64;XmlJoinNodes(%7B%0D%0A *         &#64;XmlJoinNode(xmlPath=%22manager/id/text()%22, referencedXmlPath=%22id/text()%22),%0D%0A *         &#64;XmlJoinNode(xmlPath=%22manager/dept/text()%22, referencedXmlPath=%22department/text()%22)%0D%0A *     %7D)%0D%0A *     public Employee manager;%0D%0A * %7D%0D%0A * %3C/pre%3E%0D%0A */
 %0D%0A@Targe

Fix for bug 344735 Reviewed by Blaise Doughan