javax.enterprise.deploy.spi.factories

## Interface DeploymentFactory

-     public interface DeploymentFactory

  The DeploymentFactory interface is a deployment driver for a Java EE plaform product. It returns a DeploymentManager object which represents a connection to a specific Java EE platform product.

  Each application server vendor must provide an implementation of this class in order for the Java EE Deployment API to work with their product.

  The class implementing this interface should have a public no-argument constructor, and it should be stateless (two instances of the class should always behave the same). It is suggested but not required that the class have a static initializer that registers an instance of the class with the DeploymentFactoryManager class.

  A `connected` or `disconnected` DeploymentManager can be requested. A DeploymentManager that runs connected to the platform can provide access to Java EE resources. A DeploymentManager that runs disconnected only provides module deployment configuration support.

  See Also:
    `DeploymentFactoryManager`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DeploymentManager` | `getDeploymentManager(String uri, String username, String password)` Return a `connected` DeploymentManager instance.
    `DeploymentManager` | `getDisconnectedDeploymentManager(String uri)` Return a `disconnected` DeploymentManager instance.
    `String` | `getDisplayName()` Provide a string with the name of this vendor's DeploymentManager.
    `String` | `getProductVersion()` Provide a string identifying version of this vendor's DeploymentManager.
    `boolean` | `handlesURI(String uri)` Tests whether this factory can create a DeploymentManager object based on the specificed URI.

- - ### Method Detail

    - #### handlesURI

          boolean handlesURI(String uri)

      Tests whether this factory can create a DeploymentManager object based on the specificed URI. This does not indicate whether such an attempt will be successful, only whether the factory can handle the uri.
      Parameters:
        `uri` - The uri to check
      Returns:
        `true` if the factory can handle the uri.

    - #### getDeploymentManager

          DeploymentManager getDeploymentManager(String uri,
                                               String username,
                                               String password)
                                                 throws DeploymentManagerCreationException

      Return a `connected` DeploymentManager instance.
      Parameters:
        `uri` - The URI that specifies the connection parameters
        `username` - An optional username (may be `null` if no authentication is required for this platform).
        `password` - An optional password (may be `null if no authentication is required for this platform).`
      Returns:
        A ready DeploymentManager instance.
      Throws:
        `DeploymentManagerCreationException` - occurs when a DeploymentManager could not be returned (server down, unable to authenticate, etc).

    - #### getDisconnectedDeploymentManager

          DeploymentManager getDisconnectedDeploymentManager(String uri)
                                                             throws DeploymentManagerCreationException

      Return a `disconnected` DeploymentManager instance.
      Parameters:
        `uri` - the uri of the DeploymentManager to return.
      Returns:
        A DeploymentManager `disconnected` instance.
      Throws:
        `DeploymentManagerCreationException` - occurs if the DeploymentManager could not be created.

    - #### getDisplayName

          String getDisplayName()

      Provide a string with the name of this vendor's DeploymentManager.
      Returns:
        the name of the vendor's DeploymentManager.

    - #### getProductVersion

          String getProductVersion()

      Provide a string identifying version of this vendor's DeploymentManager.
      Returns:
        the name of the vendor's DeploymentManager.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.