com.sun.msv.datatype.xsd

Class TypeIncubator

public class TypeIncubator extends Object

derives a new type by adding facets.

Author: Kohsuke KAWAGUCHI

Constructor Summary
TypeIncubator(XSDatatype baseType)
Method Summary
voidadd(String name, String strValue, boolean fixed, ValidationContext context)
adds a facet to the type.
voidaddFacet(String name, String strValue, boolean fixed, ValidationContext context)
adds a facet to the type.
XSDatatypeImplderive(String newName)
XSDatatypeImplderive(String newNameUri, String newLocalName)
derives a new datatype from a datatype by facets that were set.
voiddump(PrintStream out)
dumps the contents to the given object. this method is for debug use only.
ObjectgetFacet(String facetName)
gets a value of non-repeatable facet the behavior is undefined when the specified facetName doesn't exist in this map.
StringgetFacetNames()
gets names of the facets in this object this method is used to produce error messages.
intgetNonNegativeInteger(String facetName)
gets a value of non-repeatable facet as a non-negative integer the behavior is undefined when the specified facetName doesn't exist in this map.
intgetPositiveInteger(String facetName)
gets a value of non-repeatable facet as a positive integer the behavior is undefined when the specified facetName doesn't exist in this map.
VectorgetVector(String facetName)
gets a value of repeatable facet the behavior is undefined when the specified facetName doesn't exist in this map.
booleanisEmpty()
returns true if no facet is added
booleanisFixed(String facetName)
returns true if that facet is fixed. the behavior is undefined when the specified facetName doesn't exist in this map.

Constructor Detail

TypeIncubator

public TypeIncubator(XSDatatype baseType)

Method Detail

add

public void add(String name, String strValue, boolean fixed, ValidationContext context)

Deprecated: please use the addFacet method, which is better named.

adds a facet to the type.

addFacet

public void addFacet(String name, String strValue, boolean fixed, ValidationContext context)
adds a facet to the type.

Throws: DatatypeException when given facet is already specified

derive

public XSDatatypeImpl derive(String newName)

Deprecated:

derive

public XSDatatypeImpl derive(String newNameUri, String newLocalName)
derives a new datatype from a datatype by facets that were set. It is completely legal to use null as the newTypeName parameter, which means the derivation of an anonymous datatype.

Throws: DatatypeException DatatypeException is thrown if derivation is somehow invalid. For example, not applicable facets are applied, or enumeration has invalid values, ... things like that.

dump

public void dump(PrintStream out)
dumps the contents to the given object. this method is for debug use only.

getFacet

public Object getFacet(String facetName)
gets a value of non-repeatable facet the behavior is undefined when the specified facetName doesn't exist in this map.

getFacetNames

public String getFacetNames()
gets names of the facets in this object this method is used to produce error messages.

getNonNegativeInteger

public int getNonNegativeInteger(String facetName)
gets a value of non-repeatable facet as a non-negative integer the behavior is undefined when the specified facetName doesn't exist in this map.

Throws: DatatypeException if the parameter cannot be parsed as a non-negative integer

getPositiveInteger

public int getPositiveInteger(String facetName)
gets a value of non-repeatable facet as a positive integer the behavior is undefined when the specified facetName doesn't exist in this map.

Throws: DatatypeException if the parameter cannot be parsed as a positive integer

getVector

public Vector getVector(String facetName)
gets a value of repeatable facet the behavior is undefined when the specified facetName doesn't exist in this map.

isEmpty

public boolean isEmpty()
returns true if no facet is added

isFixed

public boolean isFixed(String facetName)
returns true if that facet is fixed. the behavior is undefined when the specified facetName doesn't exist in this map.