Class EnumerationClassHolder

  • All Implemented Interfaces:
    IClassHolder

    public class EnumerationClassHolder
    extends ClassHolder
    Information for an enumeration class to be included in code generated from schema.
    Author:
    Dennis M. Sosnoski
    • Field Detail

      • INSTANCEVALUE_FIELD

        public static final java.lang.String INSTANCEVALUE_FIELD
        Instance field to hold text value.
        See Also:
        Constant Field Values
      • CONVERTFORCE_METHOD

        public static final java.lang.String CONVERTFORCE_METHOD
        Static conversion method name, with exception if value not matched.
        See Also:
        Constant Field Values
      • CONVERTIF_METHOD

        public static final java.lang.String CONVERTIF_METHOD
        Static conversion method name, with null return if value not matched.
        See Also:
        Constant Field Values
      • s_logger

        private static final Logger s_logger
        Logger for class.
      • m_bindingFormat

        private FormatElement m_bindingFormat
        Binding definition element for this class.
    • Constructor Detail

      • EnumerationClassHolder

        public EnumerationClassHolder​(java.lang.String name,
                                      java.lang.String base,
                                      PackageHolder pack,
                                      BindingHolder holder,
                                      NameConverter nconv,
                                      ClassDecorator[] decorators,
                                      boolean inner)
        Constructor.
        Parameters:
        name - class name
        base - base class name
        pack - package information
        holder - binding holder
        nconv - name converter
        decorators - class decorators
        inner - use inner classes for substructures
      • EnumerationClassHolder

        protected EnumerationClassHolder​(java.lang.String name,
                                         ClassHolder context)
        Constructor for creating a child inner class definition.
        Parameters:
        name - class name
        context - parent class
    • Method Detail

      • setBinding

        public void setBinding​(FormatElement format)
        Set the binding component linked to this class.
        Parameters:
        format - binding definition element
      • buildDataStructure

        public void buildDataStructure​(GroupItem group,
                                       BindingHolder bindhold)
        Convert an item structure to a class representation. This may include creating child classes, where necessary.
        Overrides:
        buildDataStructure in class ClassHolder
        Parameters:
        group - item group
        bindhold - associated binding definition holder
      • generate

        public void generate​(boolean verbose,
                             SourceBuilder builder)
        Generate this class.
        Specified by:
        generate in class ClassHolder
        Parameters:
        verbose -
        builder - class source file builder
      • buildSimpleEnumeration

        private void buildSimpleEnumeration​(java.lang.String name,
                                            java.lang.String fullname,
                                            FilteredSegmentList facets,
                                            ClassBuilder clasbuilder)
        Build simple type-safe enumeration class.
        Parameters:
        name - simple class name
        fullname - fully-qualified class name
        facets - list of facets (may not all be xs:enumeration facets)
        clasbuilder -
      • buildJava5Enumeration

        private void buildJava5Enumeration​(java.lang.String name,
                                           java.lang.String fullname,
                                           FilteredSegmentList facets,
                                           ClassBuilder clasbuilder)
        Build Java 5 enumeration class.
        Parameters:
        name - simple class name
        fullname - fully-qualified class name
        facets - list of facets (may not all be xs:enumeration facets)
        clasbuilder -