### *** This class provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.deployment

# Class DeploymentDescriptorContext

java.lang.Object
com.sas.services.deployment.DeploymentDescriptorContext

All Implemented Interfaces:
  `DeploymentStrategyInterface`

Direct Known Subclasses:
  `OMRDeploymentContext`, `URLDeploymentContext`

@SASScope("ALL") @BinaryCompatibilityOnly public class DeploymentDescriptorContext extends Object implements DeploymentStrategyInterface
The class `DeploymentDescriptorContext` uses an instance of the class `AbstractDeploymentStrategy` to represent the strategy.

Since:
  9.2

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DeploymentDescriptorContext(AbstractDeploymentStrategy strategy)`
  Construct an instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Document`
  `createDocument(com.sas.metadata.remote.SoftwareComponent softwareComponent)`
  Creates a document for the specified software component that represents a foundation services deployment.
  `void`
  `createFile(com.sas.metadata.remote.SoftwareComponent softwareComponent, File file)`
  Creates a deployment file which represents SAS Foundation Services as beans which can be deployed in an Inversion of Control (IOC) container.
  `void`
  `createFiles(com.sas.metadata.remote.SoftwareComponent softwareComponent, File file, File clientFile)`
  Creates deployment files which represents SAS Foundation Services as beans which can be deployed and looked up by applications using an Inversion of Control (IOC) container.
  `final String`
  `getProperty(String key)`
  Gets the value of the property associated with the specified key.
  `final String`
  `getPropertySoftwareComponent()`
  Gets the value for the name of a SoftwareComponent for a SAS Foundation Services deployment that is persisted in a SAS Metadata repository
  `void`
  `reconfigure(Properties properties, File inputFile, File outputFile)`
  Reconfigures the deployment using the specified properties that describe the services deployment.
  `final void`
  `setProperty(String key, String value)`
  Sets a property for the specified key/value.
  `final void`
  `setPropertySoftwareComponent(String softwareComponentName)`
  Sets the value of a name of a repository in a SAS Metadata Server which is to be queried for SAS Foundation Services metadata.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### DeploymentDescriptorContext

    public DeploymentDescriptorContext(AbstractDeploymentStrategy strategy) throws ServiceException
    Construct an instance.
    Parameters:
      `strategy` - The deployment strategy.
    Throws:
      `ServiceException` - if an invalid strategy is specified.

- ## Method Details

  - ### setProperty

    public final void setProperty(String key, String value)
    Sets a property for the specified key/value.
    Parameters:
      `key` - Key which will be used to lookup a value.
      `value` - Value associated with the key.

  - ### getProperty

    public final String getProperty(String key)
    Gets the value of the property associated with the specified key.
    Parameters:
      `key` - Key used to lookup a property.
    Returns:
      Value associated with the key or `null`.

  - ### getPropertySoftwareComponent

    public final String getPropertySoftwareComponent()
    Gets the value for the name of a SoftwareComponent for a SAS Foundation Services deployment that is persisted in a SAS Metadata repository
    Returns:
      Configuration property value representing a name of a SoftwareComponent for a SAS Foundation Services deployment that is persisted in a SAS Metadata repository.

  - ### setPropertySoftwareComponent

    public final void setPropertySoftwareComponent(String softwareComponentName)
    Sets the value of a name of a repository in a SAS Metadata Server which is to be queried for SAS Foundation Services metadata.
    Parameters:
      `softwareComponentName` - Configuration property value representing a name of a SoftwareComponent for a SAS Foundation Services deployment that is persisted in a SAS Metadata repository.

  - ### createDocument

    public Document createDocument(com.sas.metadata.remote.SoftwareComponent softwareComponent) throws ServiceException
    Creates a document for the specified software component that represents a foundation services deployment.
    Parameters:
      `softwareComponent` - Metadata object representing a foundation services deployment.
    Returns:
      XML document representation of a foundation services deployment.
    Throws:
      `ServiceException` - if unable to create a document.

  - ### createFile

    public void createFile(com.sas.metadata.remote.SoftwareComponent softwareComponent, File file) throws ServiceException
    Creates a deployment file which represents SAS Foundation Services as beans which can be deployed in an Inversion of Control (IOC) container.
    Specified by:
      `createFile` in interface `DeploymentStrategyInterface`
    Parameters:
      `softwareComponent` - The software component that represents a foundation services deployment.
      `file` - The output file to which the service deployment metadata will be written.
    Throws:
      `ServiceException` - if unable to create a document.

  - ### createFiles

    public void createFiles(com.sas.metadata.remote.SoftwareComponent softwareComponent, File file, File clientFile) throws ServiceException
    Creates deployment files which represents SAS Foundation Services as beans which can be deployed and looked up by applications using an Inversion of Control (IOC) container.
    Specified by:
      `createFiles` in interface `DeploymentStrategyInterface`
    Parameters:
      `softwareComponent` - The software component that represents a foundation services deployment.
      `file` - The output file to which beans will be written describing a services deployment from the perspective of an application that is deploying the services.
      `clientFile` - The output file to which beans will be written describing a services deployment from the perspective of an application that is looking up remote services remotely.
    Throws:
      `ServiceException` - if unable to create a document.

  - ### reconfigure

    public void reconfigure(Properties properties, File inputFile, File outputFile) throws ServiceException
    Reconfigures the deployment using the specified properties that describe the services deployment.
    Specified by:
      `reconfigure` in interface `DeploymentStrategyInterface`
    Parameters:
      `properties` - Properties whose values should be substituted in order to reconfigure the deployment.
      `inputFile` - The input file containing the deployment which is to be reconfigured.
      `outputFile` - The output file to which the reconfigured deployment will be written.
    Throws:
      `ServiceException` - if unable to reconfigure the deployment file.