Class SourceFactory


  • public final class SourceFactory
    extends BaseFactory
    Creates the Java Source classes for Schema components.
    Version:
    $Revision: 8600 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
    Author:
    Keith Visco, Arnaud Blandin
    • Constructor Detail

      • SourceFactory

        public SourceFactory​(BuilderConfiguration config,
                             FieldInfoFactory infoFactory,
                             GroupNaming groupNaming,
                             SourceGenerator sourceGenerator)
        Creates a new SourceFactory with the given FieldInfoFactory.
        Parameters:
        config - the BuilderConfiguration instance (must not be null).
        infoFactory - the FieldInfoFactory to use
        groupNaming - Group naming scheme to be used.
        sourceGenerator - the calling source generator.
    • Method Detail

      • setCreateMarshalMethods

        public void setCreateMarshalMethods​(boolean createMarshalMethods)
        Sets whether or not to create the XML marshaling framework specific methods (marshal, unmarshal, validate) in the generated classes. By default, these methods are generated.
        Parameters:
        createMarshalMethods - a boolean, when true indicates to generated the marshaling framework methods
      • setCreateExtraMethods

        public void setCreateExtraMethods​(boolean extraMethods)
        Sets whether or not to create extra collection methods for accessing the actual collection.
        Parameters:
        extraMethods - a boolean that when true indicates that extra collection accessor methods should be created. False by default.
        See Also:
        org.exolab.castor.builder.SourceFactory#setReferenceMethodSuffix
      • setReferenceMethodSuffix

        public void setReferenceMethodSuffix​(java.lang.String suffix)
        Sets the method suffix (ending) to use when creating the extra collection methods.
        Parameters:
        suffix - the method suffix to use when creating the extra collection methods. If null or emtpty the default value, as specified in CollectionInfo will be used.
        See Also:
        org.exolab.castor.builder.SourceFactory#setCreateExtraMethods
      • setTestable

        public void setTestable​(boolean testable)
        Sets whether or not to implement CastorTestable.
        Parameters:
        testable - if true, indicates to implement CastorTestable
      • setSAX1

        public void setSAX1​(boolean sax1)
        Sets to true if SAX1 should be used in the marshall method.
        Parameters:
        sax1 - true if SAX1 should be used.
      • setCaseInsensitive

        public void setCaseInsensitive​(boolean caseInsensitive)
        Set to true if enumerated type lookups should be performed in a case insensitive manner.
        Parameters:
        caseInsensitive - when true
      • createSourceCode

        public JClass[] createSourceCode​(XMLBindingComponent component,
                                         SGStateInfo sgState)
        Creates a new ClassInfo for the given XMLBindingComponent.
        Parameters:
        component - the XMLBindingComponent that abstracts all XML Schema definition for a XML Schema component.
        sgState - The given state of the SourceGenerator.
        Returns:
        an array of JClasses reflecting the given XMLBindingComponent.
      • createSourceCode

        public JClass createSourceCode​(ExtendedBinding binding,
                                       SimpleType simpleType,
                                       SGStateInfo sgState)
        Creates the Java source code to support the given Simpletype.
        Parameters:
        binding - Current XML binding
        simpleType - the Simpletype to create the Java source for
        sgState - the current SGStateInfo (cannot be null).
        Returns:
        the JClass representation of the given Simpletype
      • createHashCodeMethod

        public void createHashCodeMethod​(JClass jclass)
        Create an "hashCode" method on the given JClass.
        Parameters:
        jclass - the JClass in wich we create the hashCode method.
      • createEqualsMethod

        public void createEqualsMethod​(JClass jclass)
        Create an 'equals' method on the given JClass.
        Parameters:
        jclass - the Jclass in which we create the equals method
      • createTestableMethods

        public void createTestableMethods​(JClass jclass,
                                          FactoryState state)
        Implement org.castor.xmlctf.CastorTestable im the given JClass.
        Parameters:
        jclass - The JClass which will implement the CastorTestable Interface.
        state - our state, e.g., state of this Factory instance.