com.sun.tools.xjc.reader.xmlschema
Class SimpleTypeBuilder

java.lang.Object
  extended by com.sun.tools.xjc.reader.xmlschema.BindingComponent
      extended by com.sun.tools.xjc.reader.xmlschema.SimpleTypeBuilder

public final class SimpleTypeBuilder
extends BindingComponent

Builds fragments for simple types.

This class is just a coordinator and all the actual works is done in classes like ConversionFinder/DatatypeBuilder.

There is at least one ugly code that you need to aware of when you are modifying the code. See the documentation about "simple type customization at the point of reference."


Field Summary
protected  BGMBuilder builder
           
 com.sun.xml.xsom.visitor.XSSimpleTypeFunction<TypeUse> composer
           
protected  ConversionFinder conversionFinder
           
 java.util.Stack<com.sun.xml.xsom.XSComponent> refererStack
          The component that is refering to the simple type which we are building.
 
Constructor Summary
SimpleTypeBuilder()
           
 
Method Summary
 TypeUse build(com.sun.xml.xsom.XSSimpleType type)
          Entry point from outside.
(package private)  TypeUse compose(com.sun.xml.xsom.XSSimpleType t)
           
 com.sun.xml.xsom.XSComponent getReferer()
           
 
Methods inherited from class com.sun.tools.xjc.reader.xmlschema.BindingComponent
getClassSelector, getErrorReporter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

builder

protected final BGMBuilder builder

conversionFinder

protected final ConversionFinder conversionFinder

refererStack

public final java.util.Stack<com.sun.xml.xsom.XSComponent> refererStack
The component that is refering to the simple type which we are building. This is ugly but necessary to support the customization of simple types at its point of reference. See my comment at the header of this class for details. UGLY: Implemented as a Stack of XSComponent to fix a bug


composer

public final com.sun.xml.xsom.visitor.XSSimpleTypeFunction<TypeUse> composer
Constructor Detail

SimpleTypeBuilder

public SimpleTypeBuilder()
Method Detail

build

public TypeUse build(com.sun.xml.xsom.XSSimpleType type)
Entry point from outside. Builds a BGM type expression from a simple type schema component.

Parameters:
type - the simple type to be bound.

getReferer

public com.sun.xml.xsom.XSComponent getReferer()

compose

TypeUse compose(com.sun.xml.xsom.XSSimpleType t)