public class EPPFactory
extends java.lang.Object
EPPFactory is a Singleton class that will create
EPPCommand or EPPResponse instances for any of the
supported EPP Command Mappings (e.g. domain, host, contact). When a create
method is called, EPPFactory will use the XML namespace of the
element to call the appropriate concrete EPPMapFactory, which
will create the correct concrete EPPCommand or
EPPResponse. createCommand(String, String) is
provided to instantiate EPPCommand objects associated with the
general EPP Specification, which includes EPPLoginCmd and
EPPLogout. EPPFactory is initialized with the set of available EPP Command
Mappings. A method is provided to retrieve the list EPPService
descriptions of available EPP Command Mappings. The list of available EPP
Command Mappings can be used in EPPGreeting and in
EPPLoginCmd. EPPMapFactory,
EPPGreeting,
EPPLoginCmd| Modifier | Constructor and Description |
|---|---|
protected |
EPPFactory()
Protected constructor following the Singleton Design Pattern.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addExtFactory(java.lang.String aExtFactory)
Add a concrete
EPPExtFactory if it does not already exist in
EPPFactory. |
void |
addMapFactory(java.lang.String aMapFactory)
Add a concrete
EPPMapFactory if it does not already exist in
EPPFactory. |
EPPCommand |
createCommand(org.w3c.dom.Element aMapElement)
creates a concrete
EPPCommand given a DOM Command Mapping
Element. |
EPPCommand |
createCommand(java.lang.String aCommandType,
java.lang.String aOp)
creates a concrete
EPPCommand given a command type and a
command operation. |
EPPCodecComponent |
createExtension(org.w3c.dom.Element aExtensionElm)
creates a concrete
EPPCommand given a DOM Command Mapping
Element. |
EPPProtocolExtension |
createProtocolExtension(org.w3c.dom.Element aExtensionElm)
creates a concrete
EPPProtocolExtension given a DOM protocol
extension Element. |
EPPResponse |
createResponse(org.w3c.dom.Element aMapElement)
creates a concrete
EPPResponse given a DOM Command Mapping
Element. |
java.util.Vector |
getExtensions()
Gets a Vector of EPPService objects that represent the supported EPP
Extensions.
|
static EPPFactory |
getInstance()
Singleton Design Pattern method to retrieve the single
EPPFactory instance. |
java.util.Vector |
getServices()
Gets a Vector of EPPService objects that represent the supported EPP
Command Mappings.
|
java.util.Set |
getXmlSchemas()
Gets the list of XML schemas that need to be pre-loaded into the XML
Parser.
|
boolean |
hasExtension(java.lang.String aNamespace)
Does the EPP support an extension specified by the namespace URI?
|
boolean |
hasService(java.lang.String aNamespace)
Does the EPP support a service specified by the service namespace URI?
|
void |
init(java.util.Vector someFactories)
Initialize the Singleton EPP instance with the list of available concrete
EPPMapFactory's.
|
void |
init(java.util.Vector someFactories,
java.util.Vector someExtFactories)
Initialize the Singleton EPP instance with the list of available concrete
EPPMapFactory's and concrete EPPExtFactory's. |
protected EPPFactory()
public static EPPFactory getInstance()
EPPFactory instance.EPPFactory instance.public EPPCommand createCommand(java.lang.String aCommandType, java.lang.String aOp) throws EPPCodecException
EPPCommand given a command type and a
command operation. This method should only be used for commands that don't
have an EPP Namespace extension. The only commands currently supported
include EPPCommand.TYPE_LOGIN and
EPPCommand.EPP_LOGOUT.aCommandType - Command.TYPE_ constant associated with the
EPPCommand.aOp - Command.OP_ constant associated with
EPPCommand. This should be null if
there is no operation value associated with the command.EPPCodecException - Unable to create command map.public EPPCommand createCommand(org.w3c.dom.Element aMapElement) throws EPPCodecException
EPPCommand given a DOM Command Mapping
Element. The DOM Command Mapping Element must have an XML namespace URI,
which is used to determine the concrete EPPMapFactory to use
to create the EPPCommand.aMapElement - The DOM Element associated with the command mapping.EPPCommand associated with
aMapElement parameter.EPPCodecException - Unable to create concrete EPPCommand.public EPPResponse createResponse(org.w3c.dom.Element aMapElement) throws EPPCodecException
EPPResponse given a DOM Command Mapping
Element. The DOM Command Mapping Element must have an XML Namespace URI,
which is used to determine the concrete EPPMapFactory to use
to create the EPPResponse.aMapElement - The DOM Element associated with the command mapping.EPPResponse associated with
aMapElement parameter.EPPCodecException - Unable to create concrete EPPCommand.public EPPCodecComponent createExtension(org.w3c.dom.Element aExtensionElm) throws EPPCodecException
EPPCommand given a DOM Command Mapping
Element. The DOM Command Mapping Element must have an XML namespace URI,
which is used to determine the concrete EPPMapFactory to use
to create the EPPCommand.aExtensionElm - The DOM Element associated with the command mapping.EPPCommand associated with
aMapElement parameter.EPPCodecException - Unable to create concrete EPPCommand.public EPPProtocolExtension createProtocolExtension(org.w3c.dom.Element aExtensionElm) throws EPPCodecException
EPPProtocolExtension given a DOM protocol
extension Element. The extension element must have an XML namespace URI,
which is used to determine the concrete EPPExtFactory to use
to create the EPPProtocolExtension.aExtensionElm - The Protocol extension Element .EPPCodecException - Unable to create concrete EPPCommand.public java.util.Vector getServices()
public java.util.Vector getExtensions()
EPPService. object that contains information
about the extension.Vector of EPPService objects, each
representing an EPP Extension.public boolean hasService(java.lang.String aNamespace)
aNamespace - XML Namespace URI associated with service. For example
"urn:iana:xmlns:domain" for the Domain Command Mapping.true if EPP supports the service; false
otherwise.public boolean hasExtension(java.lang.String aNamespace)
aNamespace - XML Namespace URI associated with extension. For example
"urn:verisign:xmlns:pricing" for the Domain Command Mapping.true if EPP supports the extension;
false otherwise.public void init(java.util.Vector someFactories)
throws EPPCodecException
EPPFactory with the following calls:
Vector theFactories = new Vector();
theFactories.addElement("com.verisign.epp.codec.domain.EPPDomainMapFactory");
EPPFactory.getInstance().init(theFactories);
someFactories - a Vector of concrete EPPMapFactory fully qualified
class names.EPPCodecException - Error initializing EPPFactorypublic void init(java.util.Vector someFactories,
java.util.Vector someExtFactories)
throws EPPCodecException
EPPMapFactory's and concrete EPPExtFactory's.
The concrete EPPMapFactory's and EPPExtFactory's
are specified by their fully qualified class names. For example, the
EPPDomainMapFactory and EPPPricingExtFactory can be initialized in
EPPFactory with the following calls:
Vector theMapFactories = new Vector();
theMapFactories.addElement("com.verisign.epp.codec.domain.EPPDomainMapFactory");
theExtFactories = new Vector();
theExtFactories.addElement("com.verisign.epp.codec.pricing.EPPPricingExtFactory");
EPPFactory.getInstance().init(theMapFactories, theExtFactories);
someFactories - a Vector of concrete EPPMapFactory
fully qualified class names.someExtFactories - a Vector of concrete EPPExtFactory
fully qualified class names.EPPCodecException - Error initializing EPPFactorypublic void addMapFactory(java.lang.String aMapFactory)
throws EPPCodecException
EPPMapFactory if it does not already exist in
EPPFactory.aMapFactory - a concrete EPPMapFactory fully qualified class
names.EPPCodecException - Error add EPPMapFactory to
EPPFactory.public void addExtFactory(java.lang.String aExtFactory)
throws EPPCodecException
EPPExtFactory if it does not already exist in
EPPFactory.aExtFactory - a concrete EPPExtFactory fully qualified class
names.EPPCodecException - Error add EPPExtFactory to
EPPFactory.public java.util.Set getXmlSchemas()
EPPMapFactory and EPPExtFactory include a
list of XML schemas that need to be loaded into the XML Parser, so
getXmlSchemas() will aggregate them into a single
List. Each XML schemas should not include the path, since the
schema will be loaded as a resource from schemas folder of the classpath.Set of String XML Schema names that
should be pre-loaded in the XML Parser. For example, at a minimum,
the following two XML schemas will be returned:eppcom-1.0.xsd
epp-1.0.xsd
Copyright © VeriSign Inc. All Rights Reserved.