Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.verisign.epp.codec.gen
Class EPPFactory

    java.lang.Object
      com.verisign.epp.codec.gen.EPPFactory

    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`.

Version:
  $Revision: 1.4 $
Author:
  $Author: jim $
See Also:
  `EPPMapFactory`, `EPPGreeting`, `EPPLoginCmd`

Constructor Summary
`protected` | `EPPFactory()` Protected constructor following the Singleton Design Pattern.

Method Summary
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### EPPFactory

    protected EPPFactory()

  Protected constructor following the Singleton Design Pattern.

Method Detail

### getInstance

    public static EPPFactory getInstance()

  Singleton Design Pattern method to retrieve the single `EPPFactory` instance.

  Returns:
    Single `EPPFactory` instance.

### createCommand

    public EPPCommand createCommand(java.lang.String aCommandType,
                                    java.lang.String aOp)
                             throws EPPCodecException

  creates a concrete `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`.

  Parameters:
    `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.
  Returns:
    Concrete command associated with the command tag and optional operation tag
  Throws:
    `EPPCodecException` - Unable to create command map.

### createCommand

    public EPPCommand createCommand(org.w3c.dom.Element aMapElement)
                             throws EPPCodecException

  creates a concrete `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`.

  Parameters:
    `aMapElement` - The DOM Element associated with the command mapping.
  Returns:
    EPPCommand Concrete `EPPCommand` associated with `aMapElement` parameter.
  Throws:
    `EPPCodecException` - Unable to create concrete `EPPCommand`.

### createResponse

    public EPPResponse createResponse(org.w3c.dom.Element aMapElement)
                               throws EPPCodecException

  creates a concrete `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`.

  Parameters:
    `aMapElement` - The DOM Element associated with the command mapping.
  Returns:
    EPPCommand Concrete `EPPResponse` associated with `aMapElement` parameter.
  Throws:
    `EPPCodecException` - Unable to create concrete `EPPCommand`.

### createExtension

    public EPPCodecComponent createExtension(org.w3c.dom.Element aExtensionElm)
                                      throws EPPCodecException

  creates a concrete `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`.

  Parameters:
    `aExtensionElm` - The DOM Element associated with the command mapping.
  Returns:
    EPPCommand Concrete `EPPCommand` associated with `aMapElement` parameter.
  Throws:
    `EPPCodecException` - Unable to create concrete `EPPCommand`.

### createProtocolExtension

    public EPPProtocolExtension createProtocolExtension(org.w3c.dom.Element aExtensionElm)
                                                 throws EPPCodecException

  creates a concrete `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`.

  Parameters:
    `aExtensionElm` - The Protocol extension Element .
  Returns:
    EPPProtocolExtension.
  Throws:
    `EPPCodecException` - Unable to create concrete `EPPCommand`.

### getServices

    public java.util.Vector getServices()

  Gets a Vector of EPPService objects that represent the supported EPP Command Mappings. EPP can support a dynamic set of command mappings, and each command mapping will have an EPPService object that contains information about the command mapping.

  Returns:
    Vector of EPPService objects, each representing an EPP Command Mapping.

### getExtensions

    public java.util.Vector getExtensions()

  Gets a Vector of EPPService objects that represent the supported EPP Extensions. EPP can support a dynamic set of command and response extensions. an `EPPService`. object that contains information about the extension.

  Returns:
    `Vector` of `EPPService` objects, each representing an EPP Extension.

### hasService

    public boolean hasService(java.lang.String aNamespace)

  Does the EPP support a service specified by the service namespace URI? For example, the service namespace URI for the Domain Command Mapping is "urn:iana:xmlns:domain".

  Parameters:
    `aNamespace` - XML Namespace URI associated with service. For example "urn:iana:xmlns:domain" for the Domain Command Mapping.
  Returns:
    `true` if EPP supports the service; `false` otherwise.

### hasExtension

    public boolean hasExtension(java.lang.String aNamespace)

  Does the EPP support an extension specified by the namespace URI? For example, the service namespace URI for the Domain Command Mapping is "urn:verisign:xmlns:pricing".

  Parameters:
    `aNamespace` - XML Namespace URI associated with extension. For example "urn:verisign:xmlns:pricing" for the Domain Command Mapping.
  Returns:
    `true` if EPP supports the extension; `false` otherwise.

### init

    public void init(java.util.Vector someFactories)
              throws EPPCodecException

  Initialize the Singleton EPP instance with the list of available concrete EPPMapFactory's. The concrete EPPMapFactory's are specified by their fully qualified class names. For example, the EPPDomainMapFactory can be initialized in `EPPFactory` with the following calls:

              Vector theFactories = new Vector();
              theFactories.addElement("com.verisign.epp.codec.domain.EPPDomainMapFactory");
              EPPFactory.getInstance().init(theFactories);

  Parameters:
    `someFactories` - a Vector of concrete `EPPMapFactory` fully qualified class names.
  Throws:
    `EPPCodecException` - Error initializing `EPPFactory`

### init

    public void init(java.util.Vector someFactories,
                     java.util.Vector someExtFactories)
              throws EPPCodecException

  Initialize the Singleton EPP instance with the list of available concrete `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);

  Parameters:
    `someFactories` - a `Vector` of concrete `EPPMapFactory` fully qualified class names.
    `someExtFactories` - a `Vector` of concrete `EPPExtFactory` fully qualified class names.
  Throws:
    `EPPCodecException` - Error initializing `EPPFactory`

### addMapFactory

    public void addMapFactory(java.lang.String aMapFactory)
                       throws EPPCodecException

  Add a concrete `EPPMapFactory` if it does not already exist in `EPPFactory`.

  Parameters:
    `aMapFactory` - a concrete `EPPMapFactory` fully qualified class names.
  Throws:
    `EPPCodecException` - Error add `EPPMapFactory` to `EPPFactory`.

### addExtFactory

    public void addExtFactory(java.lang.String aExtFactory)
                       throws EPPCodecException

  Add a concrete `EPPExtFactory` if it does not already exist in `EPPFactory`.

  Parameters:
    `aExtFactory` - a concrete `EPPExtFactory` fully qualified class names.
  Throws:
    `EPPCodecException` - Error add `EPPExtFactory` to `EPPFactory`.

### getXmlSchemas

    public java.util.Set getXmlSchemas()

  Gets the list of XML schemas that need to be pre-loaded into the XML Parser. Each `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.

  Returns:
    `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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © VeriSign Inc. All Rights Reserved.