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

Package com.sas.services

# Class ServiceAggregateConfig

java.lang.Object
com.sas.services.ServiceAggregateConfig

@SASScope("ALL") @BinaryCompatibilityOnly public final class ServiceAggregateConfig extends Object
An aggregation of a service's base and 0..* application configurations.

Since:
  9.2

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ServiceAggregateConfig(com.sas.metadata.remote.ServiceComponent serviceComponent)`
  Constructs a configuration for the specified service.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AbstractServiceComponentConfig`
  `createAggregateConfig(boolean isIncludingBaseConfig, List<String> appConfigNames)`
  Creates an aggregated configuration for the specified service configuration(s).
  `AbstractServiceComponentConfig`
  `getAggregateServiceConfig()`
  Gets the service's aggregate configuration.
  `ServiceConfigDocument`
  `getBaseServiceConfig()`
  Gets the base service configuration document.
  `String`
  `getConfigName()`
  Gets the service configuration's name.
  `String`
  `getConfigUserInterfaceClassName()`
  Gets the fully-qualified name of the Java class that is used to render the service configuration.
  `com.sas.metadata.remote.ServiceComponent`
  `getServiceComponent()`
  Gets the metadata object that represents the service.
  `AbstractServiceComponentConfig`
  `getServiceConfig()`
  Gets the service configuration for the property.
  `ServiceConfigDocument`
  `getServiceConfigDocument(String configName)`
  Gets the service configuration document for the specified configuration name.
  `List<ServiceConfigDocument>`
  `getServiceConfigDocuments()`
  Returns a copy of the list of service configuration documents.
  `List<ServiceConfigDocument>`
  `getServiceConfigDocuments(List<String> configNames)`
  Gets a list of service configuration `documents` for the specified configuration names.
  `com.sas.metadata.remote.Property`
  `getServiceConfigProperty()`
  Gets a property associated with the selected service configuration.
  `ServiceFactoryInterface`
  `getServiceFactory()`
  Gets the service's factory.
  `boolean`
  `isBaseConfig()`
  Determines if this is the service's base configuration.
  `void`
  `setConfigName(String configName)`
  Sets the name of the service configuration.
  `void`
  `setServiceConfigProperty(com.sas.metadata.remote.Property serviceConfigProperty)`
  Specifies the property representing the service configuration which is being edited.

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

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

- ## Constructor Details

  - ### ServiceAggregateConfig

    public ServiceAggregateConfig(com.sas.metadata.remote.ServiceComponent serviceComponent) throws IllegalArgumentException, ServiceException
    Constructs a configuration for the specified service.
    Parameters:
      `serviceComponent` - The service.
    Throws:
      `ServiceException` - if unable to determine the service's configuration properties.
      `IllegalArgumentException` - if an invalid parameter value is specified.

- ## Method Details

  - ### getBaseServiceConfig

    public ServiceConfigDocument getBaseServiceConfig()
    Gets the base service configuration document.
    Returns:
      Base service configuration document or `null` if a base configuration is not defined.

  - ### createAggregateConfig

    public AbstractServiceComponentConfig createAggregateConfig(boolean isIncludingBaseConfig, List<String> appConfigNames) throws ServiceException
    Creates an aggregated configuration for the specified service configuration(s).
    Parameters:
      `isIncludingBaseConfig` - `true` if the service's base configuration should be included.
      `appConfigNames` - Collection of elements of type `String` representing the names of the service's application configuration(s) which are to be aggregated.
    Returns:
      Aggregated service configuration.
    Throws:
      `ServiceException` - if unable to create a configuration.

  - ### getServiceConfigDocuments

    public List<ServiceConfigDocument> getServiceConfigDocuments(List<String> configNames) throws ServiceException
    Gets a list of service configuration `documents` for the specified configuration names.
    Parameters:
      `configNames` - Collection of configuration names that are of type `String`.
    Returns:
      Collection of service configuration `documents` for the specified configuration names.
    Throws:
      `ServiceException` - if unable to get the service configuration documents for all specified names.

  - ### getServiceConfigDocument

    public ServiceConfigDocument getServiceConfigDocument(String configName) throws ServiceException
    Gets the service configuration document for the specified configuration name.
    Parameters:
      `configName` - Name of the desired service configuration.
    Returns:
      Service configuration document matching the specified name or `null` if a configuration is not defined.
    Throws:
      `ServiceException` - if unable to get a service configuration document.

  - ### getServiceComponent

    public com.sas.metadata.remote.ServiceComponent getServiceComponent()
    Gets the metadata object that represents the service.
    Returns:
      Service component.

  - ### getServiceConfigDocuments

    public List<ServiceConfigDocument> getServiceConfigDocuments()
    Returns a copy of the list of service configuration documents.
    Returns:
      List of service configuration documents. Each list item will be of type `ServiceConfigDocument`.

  - ### getServiceConfigProperty

    public com.sas.metadata.remote.Property getServiceConfigProperty()
    Gets a property associated with the selected service configuration.
    Returns:
      Property associated with the selected service configuration or `null`.

  - ### setServiceConfigProperty

    public void setServiceConfigProperty(com.sas.metadata.remote.Property serviceConfigProperty) throws ServiceException
    Specifies the property representing the service configuration which is being edited.
    Parameters:
      `serviceConfigProperty` -
    Throws:
      `ServiceException` - if unable to set the service configuration property.

  - ### getConfigUserInterfaceClassName

    public String getConfigUserInterfaceClassName() throws ServiceException
    Gets the fully-qualified name of the Java class that is used to render the service configuration.
    Returns:
      Fully-qualified name of the Java class that is used to render the service configuration.
    Throws:
      `ServiceException` - if unable to get the user interface class name.

  - ### setConfigName

    public void setConfigName(String configName) throws com.sas.metadata.remote.MdException
    Sets the name of the service configuration.
    Parameters:
      `configName` - Service configuration's name.
    Throws:
      `com.sas.metadata.remote.MdException` - if unable to set the name.

  - ### getConfigName

    public String getConfigName() throws com.sas.metadata.remote.MdException
    Gets the service configuration's name.
    Returns:
      Service configuration's name.
    Throws:
      `com.sas.metadata.remote.MdException` - if unable to read the name.

  - ### isBaseConfig

    public boolean isBaseConfig()
    Determines if this is the service's base configuration.
    Returns:
      `Boolean.TRUE` if this is the service's base configuration, `Boolean.FALSE` if this is an application configuration, or `null` if this service does not have a configuration.

  - ### getServiceConfig

    public AbstractServiceComponentConfig getServiceConfig()
    Gets the service configuration for the property.
    Returns:
      Service configuration associated with the currently selected property or `null` if there is no service configuration.

  - ### getAggregateServiceConfig

    public AbstractServiceComponentConfig getAggregateServiceConfig() throws ServiceException
    Gets the service's aggregate configuration.
    Returns:
      Service configuration associated with the currently selected property or `null` if there is no service configuration.
    Throws:
      `ServiceException` - if unable to get the aggregate service configuration.

  - ### getServiceFactory

    public ServiceFactoryInterface getServiceFactory()
    Gets the service's factory.
    Returns:
      Factory which can be used to create an instance of the service.