Interface DeploymentPlanBuilder

All Known Subinterfaces:
AddDeploymentPlanBuilder, DeployDeploymentPlanBuilder, DeploymentActionsCompleteBuilder, InitialDeploymentPlanBuilder, InitialDeploymentSetBuilder, RemoveDeploymentPlanBuilder, ReplaceDeploymentPlanBuilder, RollbackDeploymentPlanBuilder, ServerGroupDeploymentPlanBuilder, UndeployDeploymentPlanBuilder
All Known Implementing Classes:
InitialDeploymentSetBuilderImpl

public interface DeploymentPlanBuilder
Builder capable of creating a DeploymentPlan. This interface defines the core set of builder operations; various subinterfaces define additional operations that become available as a result of executing the methods in this interface.a
Author:
Brian Stansberry
  • Method Details

    • getLastAction

      DeploymentAction getLastAction()
      Gets the DeploymentAction most recently created as a result of builder operations.
      Returns:
      the last action or null if there have been no actions.
    • add

      Indicates the content of the specified file should be added to the default content repository. The name of the deployment will be the value returned by file.getName().

      Note that this operation does not indicate the content should be deployed into the runtime.

      Parameters:
      file - file containing the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Indicates the content at the specified URL should be added to the default content repository. The name of the deployment will be the last segment of the value returned by url.getPath().

      Note that this operation does not indicate the content should be deployed into the runtime.

      Parameters:
      url - URL pointing to the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Indicates the content of the specified fileL should be added to the default content repository.

      Note that this operation does not indicate the content should be deployed into the runtime.

      Parameters:
      name - name that should be given to the new content
      file - file containing the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Indicates the content at the specified URL should be added to the default content repository.

      Note that this operation does not indicate the content should be deployed into the runtime.

      Parameters:
      name - name that should be given to the new content
      url - URL pointing to the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Indicates the content readable from the specified InputStream should be added to the default content repository.

      Note that this operation does not indicate the content should be deployed into the runtime.

      Parameters:
      name - name that should be given to the new content
      stream - InputStream from which the new content should be read This stream has to be closed by the caller.
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Indicates the content readable from the specified InputStream should be added to the content repository.

      Note that this operation does not indicate the content should be deployed into the runtime.

      Parameters:
      name - name that should be given to the new content to uniquely identify it within the domain's management system. Must be different from the name given to an other deployment content presently available on the server
      commonName - name by which the deployment should be known within a server's runtime. This would be equivalent to the file name of a deployment file, and would form the basis for such things as default Java Enterprise Edition application and module names. This would typically be the same as name (in which case add(String, InputStream) would normally be used, but in some cases users may wish to have two deployments with the same common name may (e.g. two versions of "foo.war" both available in the deployment content repository), in which case the deployments would need to have distinct name values but would have the same commonName
      stream - InputStream from which the new content should be read This stream has to be closed by the caller.
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Indicates a deployment that has already been added to the deployment content repository should be added to the server groups associated with the current DeploymentSetPlan. Typically this is used to add content that was added as part of a previously executed plan to one or more new server groups.
      Parameters:
      uniqueName - name that uniquely identifies the deployment within the domain's management system.
      Throws:
      IOException
    • deploy

      DeployDeploymentPlanBuilder deploy(String deploymentName)
      Indicates the specified deployment content should be deployed.
      Parameters:
      deploymentName - unique identifier of the deployment content
      Returns:
      a builder that can continue building the overall deployment plan
    • undeploy

      UndeployDeploymentPlanBuilder undeploy(String deploymentName)
      Indicates the specified deployment content should be undeployed.
      Parameters:
      deploymentName - unique identifier of the deployment content
      Returns:
      a builder that can continue building the overall deployment plan
    • redeploy

      DeploymentPlanBuilder redeploy(String deploymentName)
      Indicates the specified deployment content should be redeployed (i.e. undeployed and then deployed again).
      Parameters:
      deploymentName - unique identifier of the deployment content
      Returns:
      a builder that can continue building the overall deployment plan
    • replace

      ReplaceDeploymentPlanBuilder replace(String replacementDeploymentName, String toReplaceDeploymentName)
      Indicates the specified deployment content should be deployed, replacing the specified existing deployment.
      Parameters:
      replacementDeploymentName - unique identifier of the content to deploy
      toReplaceDeploymentName - unique identifier of the currently deployed content to replace
      Returns:
      a builder that can continue building the overall deployment plan
    • replace

      Indicates the content of the specified file should be added to the content repository and replace existing content of the same name. The name of the deployment will be the value returned by file.getName().

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Parameters:
      file - file containing the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      Indicates the content at the specified URL should be added to the content repository and replace existing content of the same name. The name of the deployment will be the last segment of the value returned by url.getPath().

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Parameters:
      url - URL pointing to the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      RemoveDeploymentPlanBuilder replace(String name, File file) throws IOException
      Indicates the content of the specified file should be added to the content repository and replace existing content of the same name.

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Parameters:
      name - name that should be given to the new content
      file - file containing the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      RemoveDeploymentPlanBuilder replace(String name, URL url) throws IOException
      Indicates the content at the specified URL should be added to the content repository and replace existing content of the same name.

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Parameters:
      name - name that should be given to the new content
      url - URL pointing to the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      Indicates the content readable from the specified InputStream should be added to the content repository and replace existing content of the same name.

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Parameters:
      name - name that should be given to the new content
      stream - InputStream from which the new content should be read This stream has to be closed by the caller.
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present on the server
      IOException
    • replace

      RemoveDeploymentPlanBuilder replace(String name, String commonName, InputStream stream) throws IOException
      Indicates the content readable from the specified InputStream should be added to the content repository and replace existing content of the same name.

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Parameters:
      name - name that should be given to the new content
      commonName - name by which the deployment should be known within the runtime. This would be equivalent to the file name of a deployment file, and would form the basis for such things as default Java Enterprise Edition application and module names. This would typically be the same as name (in which case add(String, InputStream) would normally be used, but in some cases users may wish to have two deployments with the same common name may (e.g. two versions of "foo.war" both available in the deployment content repository), in which case the deployments would need to have distinct name values but would have the same commonName
      stream - InputStream from which the new content should be read This stream has to be closed by the caller.
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present on the server
      IOException
    • remove

      RemoveDeploymentPlanBuilder remove(String deploymentName)
      Indicates the specified deployment content should be removed from the content repository.
      Parameters:
      deploymentName - unique identifier of the deployment content
      Returns:
      a builder that can continue building the overall deployment plan
    • build

      Creates the deployment plan.
      Returns:
      the deployment plan