org.apache.xerces.impl.dv

Class SchemaDVFactory

public abstract class SchemaDVFactory extends Object

Defines a factory API that enables applications to

1. to get the instance of specified SchemaDVFactory implementation

2. to create/return built-in schema simple types

3. to create user defined simple types.

Implementations of this abstract class can be used to get built-in simple types and create user-defined simle types.

The implementation should store the built-in datatypes in static data, so that they can be shared by multiple parser instance, and multiple threads.

Version: $Id: SchemaDVFactory.java,v 1.15 2004/10/06 14:56:50 mrglavas Exp $

Author: Sandy Gao, IBM

UNKNOWN:

Constructor Summary
protected SchemaDVFactory()
Method Summary
abstract XSSimpleTypecreateTypeList(String name, String targetNamespace, short finalSet, XSSimpleType itemType, XSObjectList annotations)
Create a new simple type which is derived by list from another simple type.
abstract XSSimpleTypecreateTypeRestriction(String name, String targetNamespace, short finalSet, XSSimpleType base, XSObjectList annotations)
Create a new simple type which is derived by restriction from another simple type.
abstract XSSimpleTypecreateTypeUnion(String name, String targetNamespace, short finalSet, XSSimpleType[] memberTypes, XSObjectList annotations)
Create a new simple type which is derived by union from a list of other simple types.
abstract XSSimpleTypegetBuiltInType(String name)
Get a built-in simple type of the given name REVISIT: its still not decided within the Schema WG how to define the ur-types and if all simple types should be derived from a complex type, so as of now we ignore the fact that anySimpleType is derived from anyType, and pass 'null' as the base of anySimpleType.
abstract SymbolHashgetBuiltInTypes()
get all built-in simple types, which are stored in a SymbolHash keyed by the name
static SchemaDVFactorygetInstance()
Get a default instance of SchemaDVFactory implementation.
static SchemaDVFactorygetInstance(String factoryClass)
Get an instance of SchemaDVFactory implementation.

Constructor Detail

SchemaDVFactory

protected SchemaDVFactory()

Method Detail

createTypeList

public abstract XSSimpleType createTypeList(String name, String targetNamespace, short finalSet, XSSimpleType itemType, XSObjectList annotations)
Create a new simple type which is derived by list from another simple type.

Parameters: name name of the new type, could be null targetNamespace target namespace of the new type, could be null finalSet value of "final" itemType item type of the list type annotations set of annotations

Returns: the newly created simple type

createTypeRestriction

public abstract XSSimpleType createTypeRestriction(String name, String targetNamespace, short finalSet, XSSimpleType base, XSObjectList annotations)
Create a new simple type which is derived by restriction from another simple type.

Parameters: name name of the new type, could be null targetNamespace target namespace of the new type, could be null finalSet value of "final" base base type of the new type annotations set of annotations

Returns: the newly created simple type

createTypeUnion

public abstract XSSimpleType createTypeUnion(String name, String targetNamespace, short finalSet, XSSimpleType[] memberTypes, XSObjectList annotations)
Create a new simple type which is derived by union from a list of other simple types.

Parameters: name name of the new type, could be null targetNamespace target namespace of the new type, could be null finalSet value of "final" memberTypes member types of the union type annotations set of annotations

Returns: the newly created simple type

getBuiltInType

public abstract XSSimpleType getBuiltInType(String name)
Get a built-in simple type of the given name REVISIT: its still not decided within the Schema WG how to define the ur-types and if all simple types should be derived from a complex type, so as of now we ignore the fact that anySimpleType is derived from anyType, and pass 'null' as the base of anySimpleType. It needs to be changed as per the decision taken.

Parameters: name the name of the datatype

Returns: the datatype validator of the given name

getBuiltInTypes

public abstract SymbolHash getBuiltInTypes()
get all built-in simple types, which are stored in a SymbolHash keyed by the name

Returns: a SymbolHash which contains all built-in simple types

getInstance

public static final SchemaDVFactory getInstance()
Get a default instance of SchemaDVFactory implementation.

Returns: an instance of SchemaDVFactory implementation

Throws: DVFactoryException cannot create an instance of the specified class name or the default class name

getInstance

public static final SchemaDVFactory getInstance(String factoryClass)
Get an instance of SchemaDVFactory implementation.

Parameters: factoryClass name of the schema factory implementation to instantiate.

Returns: an instance of SchemaDVFactory implementation

Throws: DVFactoryException cannot create an instance of the specified class name or the default class name

Copyright © 1999-2005 Apache XML Project. All Rights Reserved.