org.exolab.castor.xml.schema
Class SimpleType

java.lang.Object
  extended by org.exolab.castor.xml.schema.Structure
      extended by org.exolab.castor.xml.schema.Annotated
          extended by org.exolab.castor.xml.schema.XMLType
              extended by org.exolab.castor.xml.schema.SimpleType
All Implemented Interfaces:
java.io.Serializable, Referable
Direct Known Subclasses:
AtomicType, DeferredSimpleType, ListType, SimpleTypeReference, Union, UrType

public abstract class SimpleType
extends XMLType
implements Referable

An XML Schema SimpleType.

Version:
$Revision: 8667 $ $Date: 2006-04-13 06:47:36 -0600 (Thu, 13 Apr 2006) $
Author:
Keith Visco
See Also:
Serialized Form

Field Summary
static java.lang.String FINAL_ALL
          The value of the final attribute used for blocking all types of derivation.
static java.lang.String FINAL_LIST
          The value of the final attribute used for blocking list derivation.
static java.lang.String FINAL_RESTRICTION
          The value of the final attribute used for blocking restriction derivation.
static java.lang.String FINAL_UNION
          The value of the final attribute used for blocking union derivation.
 
Fields inherited from class org.exolab.castor.xml.schema.XMLType
NULL_ARGUMENT
 
Fields inherited from class org.exolab.castor.xml.schema.Structure
ANNOTATION, ANYTYPE, APPINFO, ATTRIBUTE, ATTRIBUTE_GROUP, COMPLEX_CONTENT, COMPLEX_TYPE, DOCUMENTATION, ELEMENT, FACET, GROUP, IDENTITY_FIELD, IDENTITY_SELECTOR, KEY, KEYREF, LIST, MODELGROUP, MODELGROUP_REF, REDEFINE, SCHEMA, SIMPLE_CONTENT, SIMPLE_TYPE, UNION, UNIQUE, UNKNOWN, WILDCARD
 
Constructor Summary
SimpleType()
          Default constructor.
 
Method Summary
 void addFacet(Facet facet)
          Adds the given Facet to this Simpletype.
protected  void copyFacets(SimpleType target)
          Copy this type's facets to the target type.
protected  SimpleType createReference(java.lang.String name)
          A helper method for classes which extend SimpleType.
 SimpleType getBuiltInBaseType()
          Returns the built in type this type is derived from.
 java.util.Enumeration<Facet> getEffectiveFacets()
          Returns an enumeration of the effective facets for this type.
 Facet getFacet(java.lang.String name)
          Returns the first facet associated with the given name.
 java.util.Enumeration<Facet> getFacets()
          Returns an Enumeration of all the Facets (including inherited) facets for this type.
 java.util.Enumeration<Facet> getFacets(java.lang.String name)
          Returns the facets associated with the given name.
 java.lang.String getFinal()
          Returns the value of the 'final' property, indicating which types of derivation are not allowed, or null if the final property has not been set.
 java.lang.Long getLength()
          Returns the value of the length facet result can be null
 java.util.Enumeration<Facet> getLocalFacets()
          Returns the facets of this type (without the parent's facets).
 java.lang.Long getMaxLength()
          Returns the value of the maxlength facet result can be null
 java.lang.Long getMinLength()
          Returns the value of the minlength facet result can be null
 int getNumberOfFacets(java.lang.String name)
          Returns the number of facets named 'name' within the list of facets of this simple type.
 Structure getParent()
          Returns the parent Structure that contains this SimpleType.
 java.lang.String getReferenceId()
          Returns the Id used to Refer to this Object.
 short getStructureType()
          Returns the type of this Schema Structure
 int getTypeCode()
          Gets the code for this simple type.
 boolean hasFacet(java.lang.String name)
          Returns true if this SimpleType has a specified Facet with the given name.
 boolean isBuiltInType()
          Returns true if this SimpleType is a built in type.
 boolean isDateTimeType()
          Indicates whether this SimpleType is a date/time type.
 boolean isNumericType()
          Indicates whether this SimpleType is a numeric type.
 boolean isRedefined()
          Returns true if this simpleType is a redefinition.
 boolean removeFacet(Facet facet)
          Removes the given Facet from this SimpleType.
 boolean removeFacet(java.lang.String name)
          Removes the facet with the given name from this SimpleType.
protected static SimpleType resolveReference(SimpleType simpleType)
          A helper method for classes which extend SimpleType.
 void setFinal(java.lang.String finalValue)
          Sets the value of the 'final' property, indicating which types of derivation are not allowed.
protected  void setParent(Structure parent)
          Sets the parent for this SimpleType
 void setRedefined()
          Sets this Group has redefined.
(package private)  void setTypeCode(int code)
          Package private setter of the code for this simple type.
 void validate()
          Checks the validity of this SimpleType definition.
 
Methods inherited from class org.exolab.castor.xml.schema.XMLType
getBaseType, getBaseTypeName, getDerivationMethod, getId, getName, getSchema, getType, isAnyType, isComplexType, isSimpleType, setBaseType, setDerivationMethod, setId, setName, setSchema
 
Methods inherited from class org.exolab.castor.xml.schema.Annotated
addAnnotation, getAnnotations, removeAnnotation
 
Methods inherited from class org.exolab.castor.xml.schema.Structure
isValid
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FINAL_ALL

public static final java.lang.String FINAL_ALL
The value of the final attribute used for blocking all types of derivation.

See Also:
Constant Field Values

FINAL_LIST

public static final java.lang.String FINAL_LIST
The value of the final attribute used for blocking list derivation.

See Also:
Constant Field Values

FINAL_UNION

public static final java.lang.String FINAL_UNION
The value of the final attribute used for blocking union derivation.

See Also:
Constant Field Values

FINAL_RESTRICTION

public static final java.lang.String FINAL_RESTRICTION
The value of the final attribute used for blocking restriction derivation.

See Also:
Constant Field Values
Constructor Detail

SimpleType

public SimpleType()
Default constructor.

Method Detail

addFacet

public void addFacet(Facet facet)
Adds the given Facet to this Simpletype.

Parameters:
facet - the Facet to add to this Simpletype

getFacet

public Facet getFacet(java.lang.String name)
Returns the first facet associated with the given name.

Parameters:
name - the name of the Facet to look for
Returns:
the first facet associated with the given name

getFacets

public java.util.Enumeration<Facet> getFacets(java.lang.String name)
Returns the facets associated with the given name.

Parameters:
name - the name of the Facet to look for
Returns:
the facets associated with the given name

getFacets

public java.util.Enumeration<Facet> getFacets()
Returns an Enumeration of all the Facets (including inherited) facets for this type.

Returns:
an Enumeration of all the Facets for this type

getFinal

public java.lang.String getFinal()
Returns the value of the 'final' property, indicating which types of derivation are not allowed, or null if the final property has not been set.

Returns:
the value of the final property or null if no value has been set

getLocalFacets

public java.util.Enumeration<Facet> getLocalFacets()
Returns the facets of this type (without the parent's facets).

Returns:
the local facets of this type.

getEffectiveFacets

public java.util.Enumeration<Facet> getEffectiveFacets()
Returns an enumeration of the effective facets for this type. A set of effective facets contains all local facets and only those inherited facets that are not overridden by the local facets.

Returns:
an enumeration of the effective facets for this type.
See Also:
getLocalFacets(), getFacets()

getBuiltInBaseType

public SimpleType getBuiltInBaseType()
Returns the built in type this type is derived from.


getParent

public Structure getParent()
Returns the parent Structure that contains this SimpleType. This can be either a Schema, AttributeDecl or ElementDecl.

Returns:
the parent of this SimpleType

getReferenceId

public java.lang.String getReferenceId()
Returns the Id used to Refer to this Object.

Specified by:
getReferenceId in interface Referable
Returns:
the Id used to Refer to this Object
See Also:
Referable

hasFacet

public boolean hasFacet(java.lang.String name)
Returns true if this SimpleType has a specified Facet with the given name.

Parameters:
name - the name of the Facet to look for
Returns:
true if this SimpleType has a specified Facet with the given name

isBuiltInType

public boolean isBuiltInType()
Returns true if this SimpleType is a built in type.

Returns:
true if this SimpleType is a built in type

isNumericType

public boolean isNumericType()
Indicates whether this SimpleType is a numeric type.

Returns:
True if this SimpleType is a numeric type

isDateTimeType

public boolean isDateTimeType()
Indicates whether this SimpleType is a date/time type.

Returns:
True if this SimpleType is a date/time type

isRedefined

public boolean isRedefined()
Returns true if this simpleType is a redefinition.

Returns:
true if this simpleType is a redefinition.

setRedefined

public void setRedefined()
Sets this Group has redefined.


getTypeCode

public int getTypeCode()
Gets the code for this simple type. (as defined in SimpleTypesFactory)

Returns:
the type code for this simple type

setTypeCode

void setTypeCode(int code)
Package private setter of the code for this simple type.


getLength

public java.lang.Long getLength()
Returns the value of the length facet result can be null


getMinLength

public java.lang.Long getMinLength()
Returns the value of the minlength facet result can be null


getMaxLength

public java.lang.Long getMaxLength()
Returns the value of the maxlength facet result can be null


removeFacet

public boolean removeFacet(Facet facet)
Removes the given Facet from this SimpleType. Returns true if this SimpleType actually contains the given facet.

Removes only local facets.

Parameters:
facet - the Facet to remove
Returns:
true if the specified Facet has been removed

removeFacet

public boolean removeFacet(java.lang.String name)
Removes the facet with the given name from this SimpleType. Returns true if this Simpletype has a facet with the given name and it is successfully removed.

Removes only local facets.

Parameters:
name - the name of the Facet to remove
Returns:
true if the specified Facet has been removed

setFinal

public void setFinal(java.lang.String finalValue)
Sets the value of the 'final' property, indicating which types of derivation are not allowed. A null value will indicate all types of derivation (list, restriction, union) are allowed.

Parameters:
finalValue - the value of the final property.
Throws:
java.lang.IllegalArgumentException - when the value is not a valid value.

getStructureType

public short getStructureType()
Returns the type of this Schema Structure

Specified by:
getStructureType in class Structure
Returns:
the type of this Schema Structure

validate

public void validate()
              throws ValidationException
Checks the validity of this SimpleType definition.

Specified by:
validate in class Structure
Throws:
ValidationException - when this SimpleType definition is invalid.

createReference

protected SimpleType createReference(java.lang.String name)
A helper method for classes which extend SimpleType. This method allows creating a reference to a SimpleType.

Returns:
the reference to the SimpleType.

resolveReference

protected static SimpleType resolveReference(SimpleType simpleType)
A helper method for classes which extend SimpleType. This method allows resolving a SimpleType reference to a SimpleType.

Returns:
the resolved SimpleType.
See Also:
createReference(java.lang.String)

setParent

protected void setParent(Structure parent)
Sets the parent for this SimpleType

Specified by:
setParent in class XMLType
Parameters:
parent - the Structure that contains this SimpleType. Currently this should only be Schema, ElementDecl or AttributeDecl.

copyFacets

protected void copyFacets(SimpleType target)
Copy this type's facets to the target type.

Parameters:
target - the SimpleType to copy facets to

getNumberOfFacets

public int getNumberOfFacets(java.lang.String name)
Returns the number of facets named 'name' within the list of facets of this simple type.

Parameters:
name - Name (type) of the facet.
Returns:
number of facets named 'name'


Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com