com.sun.tools.xjc.reader.xmlschema

Class BGMBuilder

public class BGMBuilder extends BindingComponent

Root of the XML Schema binder.
Field Summary
StringdefaultPackage1
If this is non-null, this package name takes over all the schema customizations.
StringdefaultPackage2
If this is non-null, this package name will be used when no customization is specified.
FieldRendererFactoryfieldRendererFactory
booleaninExtensionMode
True if the compiler is running in the extension mode (as opposed to the strict conformance mode.)
Modelmodel
Constructor Summary
protected BGMBuilder(String defaultPackage1, String defaultPackage2, boolean _inExtensionMode, FieldRendererFactory fieldRendererFactory, List<Plugin> activePlugins)
Method Summary
static Modelbuild(XSSchemaSet _schemas, JCodeModel codeModel, ErrorReceiver _errorReceiver, Options opts)
Entry point.
StringderiveName(String name, XSComponent comp)
Derives a name from a schema component.
BindInfogetBindInfo(XSComponent schemaComponent)
Gets the BindInfo object associated to a schema component.
BIGlobalBindinggetGlobalBinding()
Gets the global bindings.
TransformergetIdentityTransformer()
Gets the shared instance of the identity transformer.
protected BIDomgetLocalDomCustomization(XSParticle p)
Gets the BIDom object that applies to the given particle.
static QNamegetName(XSDeclaration decl)
Returns the QName of the declaration.
NameConvertergetNameConverter()
Name converter that implements "XML->Java name conversion" as specified in the spec.
BindInfogetOrCreateBindInfo(XSComponent schemaComponent)
Gets or creates the BindInfo object associated to a schema component.
ParticleBindergetParticleBinder()
Gets the particle binder for this binding.
Set<XSComponent>getReferer(XSType c)
Find all types that refer to the given complex type.
booleanisGenerateMixedExtensions()
voidying(XSComponent sc, XSComponent referer)
If the component maps to a property, forwards to purple, otherwise to green.

Field Detail

defaultPackage1

public final String defaultPackage1
If this is non-null, this package name takes over all the schema customizations.

defaultPackage2

public final String defaultPackage2
If this is non-null, this package name will be used when no customization is specified.

fieldRendererFactory

public final FieldRendererFactory fieldRendererFactory

inExtensionMode

public final boolean inExtensionMode
True if the compiler is running in the extension mode (as opposed to the strict conformance mode.)

model

public final Model model

Constructor Detail

BGMBuilder

protected BGMBuilder(String defaultPackage1, String defaultPackage2, boolean _inExtensionMode, FieldRendererFactory fieldRendererFactory, List<Plugin> activePlugins)

Method Detail

build

public static Model build(XSSchemaSet _schemas, JCodeModel codeModel, ErrorReceiver _errorReceiver, Options opts)
Entry point.

deriveName

public String deriveName(String name, XSComponent comp)
Derives a name from a schema component. This method handles prefix/suffix modification and XML-to-Java name conversion.

Parameters: name The base name. This should be things like element names or type names. comp The component from which the base name was taken. Used to determine how names are modified.

getBindInfo

public BindInfo getBindInfo(XSComponent schemaComponent)
Gets the BindInfo object associated to a schema component.

Returns: always return a valid BindInfo object. If none is specified for the given component, a dummy empty BindInfo will be returned.

getGlobalBinding

BIGlobalBinding getGlobalBinding()
Gets the global bindings.

getIdentityTransformer

public Transformer getIdentityTransformer()
Gets the shared instance of the identity transformer.

getLocalDomCustomization

protected final BIDom getLocalDomCustomization(XSParticle p)
Gets the BIDom object that applies to the given particle.

getName

public static QName getName(XSDeclaration decl)
Returns the QName of the declaration.

Returns: null if the declaration is anonymous.

getNameConverter

public NameConverter getNameConverter()
Name converter that implements "XML->Java name conversion" as specified in the spec. This object abstracts the detail that we use different name conversion depending on the customization.

This object should be used to perform any name conversion needs, instead of the JJavaName class in CodeModel.

getOrCreateBindInfo

public BindInfo getOrCreateBindInfo(XSComponent schemaComponent)
Gets or creates the BindInfo object associated to a schema component.

Returns: Always return a non-null valid BindInfo object. Even if no declaration was specified, this method creates a new BindInfo so that new decls can be added.

getParticleBinder

ParticleBinder getParticleBinder()
Gets the particle binder for this binding.

getReferer

public Set<XSComponent> getReferer(XSType c)
Find all types that refer to the given complex type.

isGenerateMixedExtensions

public boolean isGenerateMixedExtensions()

ying

public void ying(XSComponent sc, XSComponent referer)
If the component maps to a property, forwards to purple, otherwise to green. If the component is mapped to a type, this method needs to return true. See the chart at the class javadoc.