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

Package com.sas.services.deployment

# Class URLServiceConfigFactory

java.lang.Object
com.sas.services.deployment.AbstractServiceConfigFactory
com.sas.services.deployment.URLServiceConfigFactory

All Implemented Interfaces:
  `ServiceConfigFactoryInterface`

@SASScope("ALL") @BinaryCompatibilityOnly public final class URLServiceConfigFactory extends AbstractServiceConfigFactory
Factory used to manufacture a service configuration using metadata queried from a URL.

Since:
  9.2

- ## Field Summary

  ### Fields inherited from class com.sas.services.deployment.AbstractServiceConfigFactory

  `PROPERTYNAME_INITDATA, PROPERTYROLE_INITIALIZATION`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `URLServiceConfigFactory(URL url)`
  Constructs a factory which can be used to manufacture service configurations queried from a URL to a foundation services XML file.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ServiceConfigurationInterface`
  `createConfigForService(String softwareComponentName, String treeName, String serviceComponentName, MetadataSourceInterface metadataSource, boolean isRMIExportEnabled)`
  Query the service's configuration using a metadata resource adaptor.
  `ServiceConfigurationInterface`
  `createServiceConfiguration(String softwareComponentName, String treeName, String serviceComponentName, MetadataSourceInterface metadataSource, boolean isRMIExportEnabled)`
  Query the service's configuration using a metadata resource adaptor.
  `void`
  `destroy()`
  Destroys the utility.

  ### Methods inherited from class com.sas.services.deployment.AbstractServiceConfigFactory

  `addKeywordAttributes, addServiceAttributes, createServiceConfig, getMdFactory, getMdObjectStore, getServiceTypes`

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

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

- ## Constructor Details

  - ### URLServiceConfigFactory

    public URLServiceConfigFactory(URL url) throws ServiceException
    Constructs a factory which can be used to manufacture service configurations queried from a URL to a foundation services XML file.

    Destroy this object by calling `destroy()` when it is no longer needed.

    Parameters:
      `url` - URL to a foundation services deployment XML file.
    Throws:
      `ServiceException` - if unable to create a metadata factory.
      `IllegalArgumentException` - if an invalid URL is specified.
    See Also:
      - `createConfigForService(String, String, String, MetadataSourceInterface, boolean)`
      - `destroy()`

- ## Method Details

  - ### createConfigForService

    public ServiceConfigurationInterface createConfigForService(String softwareComponentName, String treeName, String serviceComponentName, MetadataSourceInterface metadataSource, boolean isRMIExportEnabled) throws ServiceException
    Query the service's configuration using a metadata resource adaptor. If an identity is not explicitly specified, then use a pre-configured identity obtained from the JAAS login-config.xml.
    Specified by:
      `createConfigForService` in interface `ServiceConfigFactoryInterface`
    Specified by:
      `createConfigForService` in class `AbstractServiceConfigFactory`
    Parameters:
      `softwareComponentName` - The name of the SAS Foundation Services deployment. This is the `SoftwareComponent.Name`.
      `treeName` - The name of the service deployment group. This is the `Tree.Name`.
      `serviceComponentName` - The name of the service component. This is the `ServiceComponent.Name`.
      `metadataSource` - The metadata source which will be used to query the service configuration.
      `isRMIExportEnabled` - `true` if the service should be exported to the RMI system to make it accessible from other JVMs.
    Returns:
      Service configuration
    Throws:
      `ServiceException` - if unable to get the service configuration. The ServiceException may wrap an exception that provides details concerning the cause of the failure.
      `IllegalStateException` - if this method is called after this object has been destroyed.
    See Also:
      - `MetadataSourceFactory`

  - ### createServiceConfiguration

    public ServiceConfigurationInterface createServiceConfiguration(String softwareComponentName, String treeName, String serviceComponentName, MetadataSourceInterface metadataSource, boolean isRMIExportEnabled) throws ServiceException
    Query the service's configuration using a metadata resource adaptor. If an identity is not explicitly specified, then use a pre-configured identity obtained from the JAAS login-config.xml.
    Parameters:
      `softwareComponentName` - The name of the SAS Foundation Services deployment. This is the `SoftwareComponent.Name`.
      `treeName` - The name of the service deployment group. This is the `Tree.Name`.
      `serviceComponentName` - The name of the service component. This is the `ServiceComponent.Name`.
      `metadataSource` - The metadata source which will be used to query the service configuration.
      `isRMIExportEnabled` - `true` if remote objects should be exported to the RMI system or `false` if they shouldn't.
    Returns:
      Service configuration
    Throws:
      `ServiceException` - if unable to get the service configuration. The ServiceException may wrap an exception that provides details concerning the cause of the failure.
      `IllegalStateException` - if this method is called after this object has been destroyed.

  - ### destroy

    public void destroy()
    Destroys the utility.
    Overrides:
      `destroy` in class `AbstractServiceConfigFactory`