package javax.xml.bind.annotation;
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;
/**
* This annotation class is used to support XSD facets in XML Schema files
* generated by JAXB RI.
*
* @author Waldemar Hummer (hummer@infosys.tuwien.ac.at)
* @since JAXB-Facets version 0.1
*/
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER,
ElementType.TYPE })
@Retention(value = RetentionPolicy.RUNTIME)
@Documented
public @interface Facets {
/* empty marker @interface to annotate the facet methods of @Facets. */
@Target(value = { ElementType.METHOD })
@Retention(value = RetentionPolicy.RUNTIME)
public static @interface FacetDefinition {
String xsdAttributeName() default VOID_STRING;
}
public static final long VOID_LONG = -1;
public static final String VOID_STRING = "";
public static final String VALIDATION_MESSAGE_KEY = "javax.xml.bind.annotation.Facets.message";
public static enum WhiteSpace {
VOID, preserve, replace, collapse
}
@FacetDefinition
String[] enumeration() default {};
@FacetDefinition
long fractionDigits() default VOID_LONG;
@FacetDefinition
long length() default VOID_LONG;
@FacetDefinition
String maxExclusive() default VOID_STRING;
@FacetDefinition
String minExclusive() default VOID_STRING;
@FacetDefinition
long maxLength() default VOID_LONG;
@FacetDefinition
long minLength() default VOID_LONG;
@FacetDefinition
String maxInclusive() default VOID_STRING;
@FacetDefinition
String minInclusive() default VOID_STRING;
@FacetDefinition
String pattern() default VOID_STRING;
@FacetDefinition
long totalDigits() default VOID_LONG;
@FacetDefinition
WhiteSpace whiteSpace() default WhiteSpace.VOID;
}