Top Description Fields Constructors Methods
com.sun.tools.xjc.reader.xmlschema.ct

public final Class ComplexTypeFieldBuilder

extends BindingComponent
Class Inheritance
Imports
java.util.HashMap, .Map, com.sun.tools.xjc.reader.xmlschema.BGMBuilder, .BindingComponent, com.sun.xml.xsom.XSComplexType

single entry point of building a field expression from a complex type. One object is created for one BGMBuilder.
Author
Kohsuke Kawaguchi ([email protected])

Field Summary

Modifier and TypeField and Description
private final Map<XSComplexType, ComplexTypeBindingMode>
complexTypeBindingModes

Records ComplexTypeBindingMode for XSComplexType.

private final CTBuilder[]
complexTypeBuilders

All installed available complex type builders.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
build(XSComplexType type)

Binds a complex type to a field expression.

protected ComplexTypeBindingMode
public void
recordBindingMode(XSComplexType type, ComplexTypeBindingMode flag)

Records the binding mode of the given complex type.

Inherited from com.sun.tools.xjc.reader.xmlschema.BindingComponent:
getClassSelectorgetErrorReporter

Field Detail

complexTypeBindingModesback to summary
private final Map<XSComplexType, ComplexTypeBindingMode> complexTypeBindingModes

Records ComplexTypeBindingMode for XSComplexType.

complexTypeBuildersback to summary
private final CTBuilder[] complexTypeBuilders

All installed available complex type builders.

Builders are tried in this order, to put specific ones first.

Constructor Detail

ComplexTypeFieldBuilderback to summary
public ComplexTypeFieldBuilder()

Method Detail

buildback to summary
public void build(XSComplexType type)

Binds a complex type to a field expression.

getBindingModeback to summary
protected ComplexTypeBindingMode getBindingMode(XSComplexType type)

Obtains the binding mode recorded through recordBindingMode(XSComplexType, ComplexTypeBindingMode).

recordBindingModeback to summary
public void recordBindingMode(XSComplexType type, ComplexTypeBindingMode flag)

Records the binding mode of the given complex type.

Binding of a derived complex type often depends on that of the base complex type. For example, when a base type is bound to the getRest() method, all the derived complex types will be bound in the same way.

For this reason, we have to record how each complex type is being bound.