Class BIEnum

  • All Implemented Interfaces:
    BIDeclaration

    public final class BIEnum
    extends java.lang.Object
    Enumeration customization.

    This customization binds a simple type to a type-safe enum class. The actual binding process takes place in SimpleTypeBuilder.

    This customization is acknowledged by SimpleTypeBuilder.

    Author:
    Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.lang.String className
      Gets the specified class name, or null if not specified.
      java.lang.String javadoc
      Gets the javadoc comment specified in the customization.
      java.util.Map<java.lang.String,​BIEnumMember> members
      Gets the map that contains XML value -> BIEnumMember pairs.
      static javax.xml.namespace.QName NAME
      Name of this declaration.
      protected BindInfo parent  
      java.lang.String ref  
    • Constructor Summary

      Constructors 
      Constructor Description
      BIEnum()  
    • Field Detail

      • className

        public java.lang.String className
        Gets the specified class name, or null if not specified.
      • javadoc

        public final java.lang.String javadoc
        Gets the javadoc comment specified in the customization. Can be null if none is specified.
      • members

        public final java.util.Map<java.lang.String,​BIEnumMember> members
        Gets the map that contains XML value -> BIEnumMember pairs. This table is built from <enumMember> customizations. Always return non-null.
      • NAME

        public static final javax.xml.namespace.QName NAME
        Name of this declaration.
    • Constructor Detail

      • BIEnum

        public BIEnum()
    • Method Detail

      • isMapped

        public boolean isMapped()
      • getName

        public javax.xml.namespace.QName getName()
        Description copied from interface: BIDeclaration
        Gets the name of this binding declaration, which is the same as the tag name of the binding element.
      • setParent

        public void setParent​(BindInfo p)
        Description copied from interface: BIDeclaration
        Sets the parent BindInfo object of this declaration. A declaration object can use this pointer to access context information, such as other customizations.

        This method can be only called from BindInfo, and only once. This is a good opportunity to do some follow-up initialization after JAXB unmarshalling populated BIDeclaration.

        Specified by:
        setParent in interface BIDeclaration
      • getLocation

        public org.xml.sax.Locator getLocation()
        Description copied from interface: BIDeclaration
        Gets the source location where this declaration was written. For declarations that are generated by XJC itself, this method returns null.
        Specified by:
        getLocation in interface BIDeclaration
      • getBuilder

        protected final BGMBuilder getBuilder()
      • getCodeModel

        protected final JCodeModel getCodeModel()
      • isAcknowledged

        public final boolean isAcknowledged()
        Description copied from interface: BIDeclaration
        Checks if this declaration was acknowledged.
        Specified by:
        isAcknowledged in interface BIDeclaration
      • onSetOwner

        public void onSetOwner()
        Description copied from interface: BIDeclaration
        Called when the parent BindInfo got its owner set. This is when declarations are connected to BGMBuilder and its sibling components.
        Specified by:
        onSetOwner in interface BIDeclaration
      • markAsAcknowledged

        public void markAsAcknowledged()
        Description copied from interface: BIDeclaration
        Marks this declaration to be acknowledged -- either actually used or the existence is admitted (for example when a property customization is given at the point of definition.)

        Declarations that are not acknowledged will be considered as an error.

        Specified by:
        markAsAcknowledged in interface BIDeclaration