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

com.webcohesion.enunciate.metadata.qname.XmlQNameEnum Maven / Gradle / Ivy

package com.webcohesion.enunciate.metadata.qname;

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

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * Special Enunciate support for qname enumerations. See http://docs.codehaus.org/display/ENUNCIATE/QName+Enums.
 *
 * @author Ryan Heaton
 */
@Retention (RUNTIME) @Target ({TYPE})
public @interface XmlQNameEnum {

  /**
   * The namespace for this qname enumeration. If left unspecified (i.e. the value is "##default"), then
   * standard JAXB namespacing applies, which looks like this:
   *
   * 
    *
  1. If the enclosing package has {@link javax.xml.bind.annotation.XmlSchema} annotation, * and its {@link javax.xml.bind.annotation.XmlSchema#elementFormDefault() elementFormDefault} * is {@link javax.xml.bind.annotation.XmlNsForm#QUALIFIED QUALIFIED}, then the namespace of * the enclosing class.
  2. *
  3. Otherwise "" (which produces unqualified element in the default namespace).
  4. *
* * @return The namespace for this qname enumeration. */ String namespace() default "##default"; /** * The base type for this QName enum. * * @return The base type for this QName enum. */ BaseType base() default BaseType.QNAME; /** * Enumeration of known base types of QName enums. */ public enum BaseType { QNAME, URI } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy