org.ow2.opensuit.xmlmap.annotations.XmlChildren Maven / Gradle / Ivy
The newest version!
/**
* Open SUIT - Simple User Interface Toolkit
*
* Copyright (c) 2009 France Telecom, http://www.francetelecom.com/
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package org.ow2.opensuit.xmlmap.annotations;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Defines a (vector type) field that is mapped to multiple XML children elements.
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface XmlChildren
{
/**
* The bound XML attribute name.
* If not specified, uses the field name.
*/
String name() default "*";
/**
* Specifies the minimum expected occurrences for this mapping
*/
int minOccurs() default 1;
/**
* Specifies the maximum expected occurrences for this mapping
*/
int maxOccurs() default Integer.MAX_VALUE;
/**
* Determines whether this XML element is a direct descendant,
* or included in an intermediate element.
*/
boolean direct() default false;
}