All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.xml.bind.annotation.XmlList Maven / Gradle / Ivy

There is a newer version: 2.1
Show newest version
package javax.xml.bind.annotation;

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

/**
 * Used to map a property to a list simple type.
 *
 * 

Usage

*

* The @XmlList annotation can be used with the * following program elements: *

    *
  • JavaBean property
  • *
  • field
  • *
* *

* When a collection property is annotated just with @XmlElement, * each item in the collection will be wrapped by an element. * For example, * *

 * @XmlRootElement
 * class Foo {
 *     @XmlElement
 *     List<String> data;
 * }
 * 
* * would produce XML like this: * *

 * <foo>
 *   <data>abc</data>
 *   <data>def</data>
 * </foo>
 * 
* * @XmlList annotation, on the other hand, allows multiple values to be * represented as whitespace-separated tokens in a single element. For example, * *
 * @XmlRootElement
 * class Foo {
 *     @XmlElement
 *     @XmlList
 *     List<String> data;
 * }
 * 
* * the above code will produce XML like this: * *

 * <foo>
 *   <data>abc def</data>
 * </foo>
 * 
* *

This annotation can be used with the following annotations: * {@link XmlElement}, * {@link XmlAttribute}, * {@link XmlValue}, * {@link XmlIDREF}. *

    *
  • The use of @XmlList with {@link XmlValue} while * allowed, is redundant since {@link XmlList} maps a * collection type to a simple schema type that derives by * list just as {@link XmlValue} would.
  • * *
  • The use of @XmlList with {@link XmlAttribute} while * allowed, is redundant since {@link XmlList} maps a * collection type to a simple schema type that derives by * list just as {@link XmlAttribute} would.
  • *
* * @author
  • Kohsuke Kawaguchi, Sun Microsystems, Inc.
  • Sekhar Vajjhala, Sun Microsystems, Inc.
* @since JAXB2.0 */ @Retention(RUNTIME) @Target({FIELD,METHOD,PARAMETER}) public @interface XmlList { }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy