Package com.sun.msv.datatype.xsd
Class TypeIncubator
java.lang.Object
com.sun.msv.datatype.xsd.TypeIncubator
derives a new type by adding facets.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final XSDatatypeImpl
base typeprivate static final String[][]
private final Map
storage for non-repeatable facets -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Deprecated.please use the addFacet method, which is better named.void
addFacet
(String name, String strValue, boolean fixed, org.relaxng.datatype.ValidationContext context) adds a facet to the type.private static void
checkRangeConsistency
(XSDatatypeImpl newType, String facetName1, String facetName2) check (min,max) facet specification and makes sure that they are consistentprivate boolean
checks if the specified facet was added to this mapDeprecated.derives a new datatype from a datatype by facets that were set.void
dump
(PrintStream out) dumps the contents to the given object.gets a value of non-repeatable facet the behavior is undefined when the specified facetName doesn't exist in this map.gets names of the facets in this object this method is used to produce error messages.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.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.gets a value of repeatable facet the behavior is undefined when the specified facetName doesn't exist in this map.boolean
isEmpty()
returns true if no facet is addedboolean
returns true if that facet is fixed.private static boolean
isRepeatable
(String facetName) returns true if the specified facet is a facet which can be set multiple times.private static boolean
isValueFacet
(String facetName) returns true if the specified facet is a facet that needs value-space-level check.private static org.relaxng.datatype.DatatypeException
reportFacetInconsistency
(String newName, DataTypeWithFacet o1, String facetName1, DataTypeWithFacet o2, String facetName2) creates a BadTypeException with appropriate error message.
-
Field Details
-
impl
storage for non-repeatable facets -
baseType
base type -
exclusiveFacetPairs
-
-
Constructor Details
-
TypeIncubator
-
-
Method Details
-
add
public void add(String name, String strValue, boolean fixed, org.relaxng.datatype.ValidationContext context) throws org.relaxng.datatype.DatatypeException Deprecated.please use the addFacet method, which is better named.adds a facet to the type.- Throws:
org.relaxng.datatype.DatatypeException
-
addFacet
public void addFacet(String name, String strValue, boolean fixed, org.relaxng.datatype.ValidationContext context) throws org.relaxng.datatype.DatatypeException adds a facet to the type.- Throws:
org.relaxng.datatype.DatatypeException
- when given facet is already specified
-
derive
Deprecated.- Throws:
org.relaxng.datatype.DatatypeException
-
derive
public XSDatatypeImpl derive(String newNameUri, String newLocalName) throws org.relaxng.datatype.DatatypeException 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:
org.relaxng.datatype.DatatypeException
- DatatypeException is thrown if derivation is somehow invalid. For example, not applicable facets are applied, or enumeration has invalid values, ... things like that.
-
checkRangeConsistency
private static void checkRangeConsistency(XSDatatypeImpl newType, String facetName1, String facetName2) throws org.relaxng.datatype.DatatypeException check (min,max) facet specification and makes sure that they are consistent- Throws:
org.relaxng.datatype.DatatypeException
- when two facets are inconsistent
-
reportFacetInconsistency
private static org.relaxng.datatype.DatatypeException reportFacetInconsistency(String newName, DataTypeWithFacet o1, String facetName1, DataTypeWithFacet o2, String facetName2) creates a BadTypeException with appropriate error message. this method is only useful for reporting facet consistency violation. -
isValueFacet
returns true if the specified facet is a facet that needs value-space-level check. -
isRepeatable
returns true if the specified facet is a facet which can be set multiple times. -
isFixed
returns true if that facet is fixed. the behavior is undefined when the specified facetName doesn't exist in this map. -
getFacet
gets a value of non-repeatable facet the behavior is undefined when the specified facetName doesn't exist in this map. -
getVector
gets a value of repeatable facet the behavior is undefined when the specified facetName doesn't exist in this map. -
getPositiveInteger
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:
org.relaxng.datatype.DatatypeException
- if the parameter cannot be parsed as a positive integer
-
getNonNegativeInteger
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:
org.relaxng.datatype.DatatypeException
- if the parameter cannot be parsed as a non-negative integer
-
contains
checks if the specified facet was added to this map -
isEmpty
public boolean isEmpty()returns true if no facet is added -
dump
dumps the contents to the given object. this method is for debug use only. -
getFacetNames
gets names of the facets in this object this method is used to produce error messages.
-