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

Package com.sas.services.deployment

# Class DeployableServiceFactory

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

@SASScope("ALL") @BinaryCompatibilityOnly public final class DeployableServiceFactory extends Object
Factory used to manufacture a `deployable service` from a `ServiceComponent`.

Since:
  1.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static DeployableService`
  `getDeployableService(com.sas.metadata.remote.ServiceComponent serviceComponent, String[] requiredServiceTypes, com.sas.metadata.remote.SoftwareComponent softwareComponent)`
  Gets a deployable service from the service component.
  `static DeployableService`
  `getDeployableService(com.sas.metadata.remote.ServiceComponent serviceComponent, String[] requiredServiceTypes, com.sas.metadata.remote.SoftwareComponent softwareComponent, MetadataSourceInterface metadataSource)`
  Gets a deployable service from the service component.
  `static DeployableService`
  `getDeployableService(com.sas.metadata.remote.ServiceComponent serviceComponent, String[] requiredServiceTypes, com.sas.metadata.remote.SoftwareComponent softwareComponent, MetadataSourceInterface metadataSource, Environment environment)`
  Gets a deployable service from the service component.
  `static ServiceConfigurationInterface`
  `getServiceConfiguration(com.sas.metadata.remote.ServiceComponent serviceComponent, org.apache.logging.log4j.Logger logger)`
  Creates a service configuration for the specified service.
  `static ServiceConfigurationInterface`
  `getServiceConfiguration(com.sas.metadata.remote.ServiceComponent serviceComponent, org.apache.logging.log4j.Logger logger, Environment environment)`
  Creates a service configuration for the specified service.

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

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

- ## Method Details

  - ### getDeployableService

    public static DeployableService getDeployableService(com.sas.metadata.remote.ServiceComponent serviceComponent, String[] requiredServiceTypes, com.sas.metadata.remote.SoftwareComponent softwareComponent) throws ServiceException
    Gets a deployable service from the service component.

    Default RMI client/server socket factories will be used if this service is configured to be remotely accessed.

    Parameters:
      `serviceComponent` - Deployed component from metadata source.
      `requiredServiceTypes` - Desired service types.
      `softwareComponent` - The `SoftwareComponent` representing the service deployment associated with this `ServiceComponent`.
    Returns:
      Deployable service.
    Throws:
      `ServiceException` - if unable to obtain a deployable service.

  - ### getDeployableService

    public static DeployableService getDeployableService(com.sas.metadata.remote.ServiceComponent serviceComponent, String[] requiredServiceTypes, com.sas.metadata.remote.SoftwareComponent softwareComponent, MetadataSourceInterface metadataSource) throws ServiceException
    Gets a deployable service from the service component.

    Default RMI client/server socket factories will be used if this service is configured to be remotely accessed.

    Parameters:
      `serviceComponent` - Deployed component from metadata source.
      `requiredServiceTypes` - Desired service types.
      `softwareComponent` - The `SoftwareComponent` representing the service deployment associated with this `ServiceComponent`.
      `metadataSource` - Metadata source which may define the RMI client/server socket factories to be used to export remote objects.
    Returns:
      Deployable service.
    Throws:
      `ServiceException` - if unable to obtain a deployable service.

  - ### getDeployableService

    public static DeployableService getDeployableService(com.sas.metadata.remote.ServiceComponent serviceComponent, String[] requiredServiceTypes, com.sas.metadata.remote.SoftwareComponent softwareComponent, MetadataSourceInterface metadataSource, Environment environment) throws ServiceException
    Gets a deployable service from the service component.
    Parameters:
      `serviceComponent` - Deployed component from metadata source.
      `requiredServiceTypes` - Desired service types.
      `softwareComponent` - The `SoftwareComponent` representing the service deployment associated with this `ServiceComponent`.
      `metadataSource` - Metadata source which may define the RMI client/server socket factories to be used to export remote objects.
      `environment` - The Environment object encapsulates resources provided by the container. It is made available to the services as they are deployed.
    Returns:
      Deployable service.
    Throws:
      `ServiceException` - if unable to obtain a deployable service.

  - ### getServiceConfiguration

    public static ServiceConfigurationInterface getServiceConfiguration(com.sas.metadata.remote.ServiceComponent serviceComponent, org.apache.logging.log4j.Logger logger) throws ServiceException
    Creates a service configuration for the specified service.
    Parameters:
      `serviceComponent` - Service component for which a service configuration is to be created.
      `logger` - Logger or `null` if logging is not desired.
    Returns:
      Service configuration for the service component.
    Throws:
      `ServiceException` - if unable to create a service configuration.
      `IllegalArgumentException` - if an invalid parameter is specified.

  - ### getServiceConfiguration

    public static ServiceConfigurationInterface getServiceConfiguration(com.sas.metadata.remote.ServiceComponent serviceComponent, org.apache.logging.log4j.Logger logger, Environment environment) throws ServiceException
    Creates a service configuration for the specified service.
    Parameters:
      `serviceComponent` - Service component for which a service configuration is to be created.
      `logger` - Logger or `null` if logging is not desired.
      `environment` - The Environment object encapsulates resources provided by the container. It is made available to the services as they are deployed.
    Returns:
      Service configuration for the service component.
    Throws:
      `ServiceException` - if unable to create a service configuration.
      `IllegalArgumentException` - if an invalid parameter is specified.