org.exolab.castor.builder.factory

Class MemberFactory


public final class MemberFactory
extends BaseFactory

The "Factory" responsible for creating fields for the given schema components.
Version:
$Revision: 7398 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Keith Visco

Constructor Summary

MemberFactory(BuilderConfiguration config, FieldInfoFactory infoFactory, GroupNaming groupNaming, SourceGenerator sourceGenerator)
Creates a new MemberFactory using the given FieldInfo factory.

Method Summary

FieldInfo
createFieldInfo(XMLBindingComponent component, ClassInfoResolver resolver, boolean useJava50)
Creates a FieldInfo object for the given XMLBindingComponent.
FieldInfo
createFieldInfoForAny(Wildcard any, boolean useJava50)
Creates a FieldInfo for content models that support "any" element.
FieldInfo
createFieldInfoForChoiceValue()
Creates a FieldInfo to hold the value of a choice.
FieldInfo
createFieldInfoForContent(XMLBindingComponent component, XSType xsType, boolean useJava50)
Creates a FieldInfo for content.

Methods inherited from class org.exolab.castor.builder.factory.BaseFactory

createComment, extractCommentsFromAnnotations, getConfig, getGroupNaming, getInfoFactory, getJavaNaming, getSourceGenerator, normalize, setGroupNaming

Constructor Details

MemberFactory

public MemberFactory(BuilderConfiguration config,
                     FieldInfoFactory infoFactory,
                     GroupNaming groupNaming,
                     SourceGenerator sourceGenerator)
Creates a new MemberFactory using the given FieldInfo factory.
Parameters:
config - the BuilderConfiguration
infoFactory - the FieldInfoFactory to use
groupNaming - Grou pnaming scheme to be used.
sourceGenerator - Calling source generator

Method Details

createFieldInfo

public FieldInfo createFieldInfo(XMLBindingComponent component,
                                 ClassInfoResolver resolver,
                                 boolean useJava50)
Creates a FieldInfo object for the given XMLBindingComponent.
Parameters:
component - the XMLBindingComponent to create the FieldInfo for
resolver - resolver to use to find ClassInfo
useJava50 - if true, code will be generated for Java 5
Returns:
the FieldInfo for the given attribute declaration

createFieldInfoForAny

public FieldInfo createFieldInfoForAny(Wildcard any,
                                       boolean useJava50)
Creates a FieldInfo for content models that support "any" element.
Parameters:
any - the wildcard we will operate on
useJava50 - if true then we will generate code for Java 5
Returns:
the new FieldInfo

createFieldInfoForChoiceValue

public FieldInfo createFieldInfoForChoiceValue()
Creates a FieldInfo to hold the value of a choice.
Returns:
the new FieldInfo

createFieldInfoForContent

public FieldInfo createFieldInfoForContent(XMLBindingComponent component,
                                           XSType xsType,
                                           boolean useJava50)
Creates a FieldInfo for content.
Parameters:
component - XMLBindingComponent instance for accessing binding information.
xsType - the type of content
useJava50 - if true, code will be generated for Java 5
Returns:
the new FieldInfo

Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com