/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.xerces.impl.dv;

import java.util.Hashtable;

The factory to create and return DTD types. The implementation should store the created datatypes in static data, so that they can be shared by multiple parser instance, and multiple threads.
Author:Sandy Gao, IBM
@xerces.internal
Version:$Id: DTDDVFactory.java 558581 2007-07-23 01:38:26Z mrglavas $
/** * The factory to create and return DTD types. The implementation should * store the created datatypes in static data, so that they can be shared by * multiple parser instance, and multiple threads. * * @xerces.internal * * @author Sandy Gao, IBM * * @version $Id: DTDDVFactory.java 558581 2007-07-23 01:38:26Z mrglavas $ */
public abstract class DTDDVFactory { private static final String DEFAULT_FACTORY_CLASS = "org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl";
Get an instance of the default DTDDVFactory implementation.
Throws:
  • DVFactoryException – cannot create an instance of the specified class name or the default class name
Returns: an instance of DTDDVFactory implementation
/** * Get an instance of the default DTDDVFactory implementation. * * @return an instance of DTDDVFactory implementation * @exception DVFactoryException cannot create an instance of the specified * class name or the default class name */
public static final DTDDVFactory getInstance() throws DVFactoryException { return getInstance(DEFAULT_FACTORY_CLASS); }
Get an instance of DTDDVFactory implementation.
Params:
  • factoryClass – name of the implementation to load.
Throws:
  • DVFactoryException – cannot create an instance of the specified class name or the default class name
Returns: an instance of DTDDVFactory implementation
/** * Get an instance of DTDDVFactory implementation. * * @param factoryClass name of the implementation to load. * @return an instance of DTDDVFactory implementation * @exception DVFactoryException cannot create an instance of the specified * class name or the default class name */
public static final DTDDVFactory getInstance(String factoryClass) throws DVFactoryException { try { // if the class name is not specified, use the default one return (DTDDVFactory) (ObjectFactory.newInstance(factoryClass, ObjectFactory.findClassLoader(), true)); } catch (ClassCastException e) { throw new DVFactoryException("DTD factory class " + factoryClass + " does not extend from DTDDVFactory."); } } // can't create a new object of this class protected DTDDVFactory() {}
return a dtd type of the given name
Params:
  • name – the name of the datatype
Returns: the datatype validator of the given name
/** * return a dtd type of the given name * * @param name the name of the datatype * @return the datatype validator of the given name */
public abstract DatatypeValidator getBuiltInDV(String name);
get all built-in DVs, which are stored in a hashtable keyed by the name
Returns: a hashtable which contains all datatypes
/** * get all built-in DVs, which are stored in a hashtable keyed by the name * * @return a hashtable which contains all datatypes */
public abstract Hashtable getBuiltInTypes(); }