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

Package com.sas.services.information.metadata

# Interface ServerInterface

All Superinterfaces:
  `MetadataInterface`, `PublicObjectInterface`, `Remote`, `SoftwareComponentInterface`

All Known Subinterfaces:
  `ConfiguredComponentInterface`, `ConnectServerInterface`, `ConnectSpawnerInterface`, `DataStepBatchServerInterface`, `FtpServerInterface`, `GridMonitoringServerInterface`, `HttpServerInterface`, `JavaBatchServerInterface`, `LogicalConnectServerInterface`, `LogicalDataStepBatchServerInteface`, `LogicalGridServerInterface`, `LogicalJavaBatchServerInterface`, `LogicalOSServerInterface`, `LogicalServerInterface`, `MSMQQueueManagerInterface`, `OperatingSystemServerInterface`, `OracleServerInterface`, `ProxyListInterface`, `QueueManagerInterface`, `SasInProcessServerInterface`, `ServerComponentInterface`, `ServerContextInterface`, `ShareServerInterface`, `SPDSServerInterface`, `TableServerInterface`, `WebsphereQueueManagerInterface`

All Known Implementing Classes:
  `OMRDatabaseServer`, `OMRHadoopServer`, `OMRPostgresServer`, `OMRProxyList`, `OMRSAPServer`, com.sas.services.information.metadata.OMRServer, com.sas.services.information.metadata.OMRServerComponent, `OMRSPDSServer`

@SASScope("ALL") @BinaryCompatibilityOnly public interface ServerInterface extends SoftwareComponentInterface
This is a generic interface for interacting with a repository entry that represents a server of some sort.

Since:
  1.0

- ## Field Summary

  ### Fields inherited from interface com.sas.services.information.metadata.MetadataInterface

  `METADATA_STATE_DELETED, METADATA_STATE_DESTROYED, METADATA_STATE_NEW, METADATA_STATE_NORMAL, PERMISSION_READMETADATA, PERMISSION_WRITEMETADATA`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addComputeTask(MetadataInterface task)`
  Add a compute task to this server.
  `void`
  `addDataPackage(DeployedDataPackageInterface dataPackage)`
  Add a DeployedDataPackage to the server as a DataPackage.
  `void`
  `addProperty(PropertyInterface property)`
  Add a property to the set of properties for this server.
  `void`
  `addServed(ServerInterface server)`
  Add a new server to the list of servers that use this server.
  `void`
  `addServer(ServerInterface server)`
  Add a new server to the list of servers that this server uses.
  `void`
  `addServiceType(ServiceTypeInterface serviceType)`
  Add a service type to this server.
  `void`
  `addSourceConnection(ConnectionInterface connection)`
  Add a connection definition that can be used to access this server.
  `String`
  `getApplicationProtocol()`
  Get the application protocol string for the server.
  `String`
  `getClassIdentifier()`
  Get the class identifier string for the server.
  `List`
  `getComputeTasks(boolean gotoServer)`
  Get the compute tasks for this server instance.
  `List`
  `getConnectionProperties()`
  Get the properties from the (first) connection.
  `List`
  `getDataPackages()`
  Get a list of the data packages (files) that exist on the server.
  `SoftwareComponentInterface`
  `getDescriptiveComponent()`
  Get the server's descriptive component if one exits.
  `List`
  `getDomains()`
  Get a list of the authentication domains that the server is running in.
  `String`
  `getHost()`
  Get the DNS name for the host the server is running on.
  `String`
  `getInstallationLocation()`
  `boolean`
  `getIsLicensed()`
  Get the isLicensed attribute for this server.
  `String`
  `getMachine()`
  Get the DNS name of the machine the server instance is running on.
  `String`
  `getPlatform()`
  Get the server's platform string.
  `List`
  `getProperties()`
  Get a List of the properties associated with this server.
  `List`
  `getProperties(String name)`
  Get all properties matching a name.
  `PropertyInterface`
  `getProperty(String name)`
  Get a named property for this server.
  `List`
  `getServed()`
  Get a list of components that are served by this server.
  `List`
  `getServers()`
  Get a list of servers that this server uses.
  `List`
  `getServiceTypeObjects()`
  Get a List containing the ServiceType objects associated to this server.
  `List`
  `getServiceTypes()`
  Get a list of the service types for this server.
  `List`
  `getSourceConnections()`
  Get a List of the connection definitions that provide access to this server.
  `int`
  `getTcpPort()`
  Get the port number the server is listening on.
  `void`
  `removeComputeTask(MetadataInterface task)`
  Remove a compute task from this server.
  `void`
  `removeDataPackage(DeployedDataPackageInterface dataPackage)`
  Remove a data package from the server.
  `void`
  `removeProperty(PropertyInterface property)`
  Remove a property from the server.
  `void`
  `removeServed(ServerInterface server)`
  Remove a server from the list that's served by this server.
  `void`
  `removeServer(ServerInterface server)`
  Remove a server from the list used by this server.
  `void`
  `removeServiceType(ServiceTypeInterface serviceType)`
  Remove a service type from this server.
  `void`
  `removeSourceConnection(ConnectionInterface connection)`
  Remove a connection definition from the list that can access this server.
  `void`
  `setApplicationProtocol(String protocol)`
  Set the application protocol string for the server.
  `void`
  `setClassIdentifier(String protocol)`
  Set the class identifier string for the server.
  `void`
  `setHost(String host)`
  Set the DNS name of the host where the server is running.
  `void`
  `setInstallationLocation(String location)`
  `void`
  `setIsLicensed(boolean value)`
  Set isLicensed value for this server.
  `void`
  `setMachine(String machineName)`
  Set the machine name this server instance is running on.
  `void`
  `setPlatform(String platform)`
  Set the server's platform string.
  `void`
  `setTcpPort(int port)`
  Set the port number the server is listening on.

  ### Methods inherited from interface com.sas.services.information.metadata.MetadataInterface

  `add, addAccessControl, addAttribute, addAttributes, addDocument, addExtension, addGroup, addImplementor, addKeyword, addNoteTextStore, addNoteTextStore, addObjectProperty, addObjectProperty, addPermissions, addPrompt, addPropertySet, addRemark, addResponsibleParty, addTransactionListener, addUsedByPrototype, checkin, checkout, commit, copyTo, countAssociatedObjects, delete, deleteAttribute, deleteAttributes, destroy, getAccessControls, getAttribute, getAttributes, getAuthorizationUtil, getCreateDate, getCreatedBy, getDescription, getDocuments, getEntityKey, getEntityURL, getExtensions, getGroups, getGUID, getIdentities, getImplementors, getKeywords, getLockedBy, getModifiedBy, getModifyDate, getNoteTextStore, getNoteTextStores, getNoteTextStoresByRole, getObjectProperties, getParent, getParentPath, getParents, getPath, getPaths, getPermission, getPermissions, getPermissions, getPreviousVersionNames, getPrimaryPropertyGroup, getPrompt, getPrompts, getPropertyBag, getPropertySets, getRemarksList, getReposId, getRepository, getRepositoryEntity, getRepositoryName, getReposKey, getResponsibleParties, getState, getTrackingId, getType, getUsageVersion, getUsedByPrototypes, getUsingPrototype, getVersion, isAuthorized, isCompatible, isDeleted, isDestroyed, isObjectAlive, isReadCompatible, mapNameToFilesystem, mapUrlToFilesystem, moveTo, newServiceObject, refresh, removeAccessControl, removeDocument, removeExtension, removeGroup, removeImplementor, removeKeyword, removeNoteTextStore, removeObjectProperty, removePermissions, removePrompt, removePropertySet, removeResponsibleParty, removeResponsiblePartyByIdentity, removeUsedByPrototype, rollback, setAttribute, setAttributes, setDeleted, setDescription, setDocuments, setExtensions, setGroups, setGUID, setKeywords, setName, setNoteTextStores, setObjectProperties, setPermission, setPrimaryPropertyGroup, setPrompt, setPrompts, setRemarksList, setRepository, setUsingPrototype, startTransaction, toByteArray, transactionEvent, uncheckout, update, updateFromBag, version`

  ### Methods inherited from interface com.sas.services.information.publicobject.PublicObjectInterface

  `addProcessorInterface, getContainer, getIdentifier, getName, getObjectURI, getPathUrl, getProcessorInterface, getTypeDescriptor`

  ### Methods inherited from interface com.sas.services.information.metadata.SoftwareComponentInterface

  `addDeployedComponent, addPropertyGroup, addSoftwareGroup, addSoftwareTree, getDependentComponents, getDependsOnComponents, getDeployedComponents, getImplementedObjects, getMajor, getMinor, getPrivateConfigurableProperties, getProductIdentifier, getProductName, getPropertyGroups, getPublicConfigurableProperties, getSoftwareComponentAttributes, getSoftwareGroups, getSoftwareTrees, getSoftwareVersion, getSpecVendor, getSpecVersion, getVendor, getVendorIdentifier, removeDeployedComponent, removePropertyGroup, removeSoftwareGroup, removeSoftwareTree, setDeployedComponents, setImplementedObjects, setMajor, setMinor, setProductIdentifier, setProductName, setPropertyGroups, setSoftwareComponentAttributes, setSoftwareGroups, setSoftwareTrees, setSoftwareVersion, setSpecVendor, setSpecVersion, setVendor, setVendorIdentifier`

- ## Method Details

  - ### getHost

    String getHost() throws ServiceException, RemoteException
    Get the DNS name for the host the server is running on.

    Returns:
      The host name.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### setHost

    void setHost(String host) throws ServiceException, RemoteException
    Set the DNS name of the host where the server is running.

    Parameters:
      `host` - The host name.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getTcpPort

    int getTcpPort() throws ServiceException, RemoteException
    Get the port number the server is listening on.

    Returns:
      The port number;
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### setTcpPort

    void setTcpPort(int port) throws ServiceException, RemoteException
    Set the port number the server is listening on.

    Parameters:
      `port` - The port number;
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getDomains

    List getDomains() throws ServiceException, RemoteException
    Get a list of the authentication domains that the server is running in.

    Returns:
      a List of Strings with the names of the authentication domains the server is running in.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getApplicationProtocol

    String getApplicationProtocol() throws ServiceException, RemoteException
    Get the application protocol string for the server.

    Returns:
      The application protocol string.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### setApplicationProtocol

    void setApplicationProtocol(String protocol) throws ServiceException, RemoteException
    Set the application protocol string for the server.

    Parameters:
      `protocol` - The new application protocol string.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getClassIdentifier

    String getClassIdentifier() throws ServiceException, RemoteException
    Get the class identifier string for the server.

    Specified by:
      `getClassIdentifier` in interface `SoftwareComponentInterface`
    Returns:
      The application protocol string.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### setClassIdentifier

    void setClassIdentifier(String protocol) throws ServiceException, RemoteException
    Set the class identifier string for the server. At this time, it doesn't seem appropriate to allow the classIdentifier to be changed since that changes the basic character of the server. I'll leave that to the SMC.

    Specified by:
      `setClassIdentifier` in interface `SoftwareComponentInterface`
    Parameters:
      `protocol` - The new application protocol string.
    Throws:
      `ServiceException` - in case of a repository error.
      `RemoteException` - in the event of remote object failure.

  - ### getPlatform

    String getPlatform() throws ServiceException, RemoteException
    Get the server's platform string.
    Specified by:
      `getPlatform` in interface `SoftwareComponentInterface`
    Returns:
      A String with the server's platform.
    Throws:
      `ServiceException` - if a server error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### setPlatform

    void setPlatform(String platform) throws ServiceException, RemoteException
    Set the server's platform string.
    Specified by:
      `setPlatform` in interface `SoftwareComponentInterface`
    Parameters:
      `platform` - A String indicating the server's platform.
    Throws:
      `ServiceException` - if a server error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getProperties

    List getProperties() throws ServiceException, RemoteException
    Get a List of the properties associated with this server.

    Returns:
      A List of PropertyInterface objects
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### getProperty

    PropertyInterface getProperty(String name) throws ServiceException, RemoteException
    Get a named property for this server. It's possible for more than one property to exist for a given name. This method will only return the first instance it finds for that name.

    Parameters:
      `name` - The name of the property to retrieve.
    Returns:
      a PropertyInterface object, or null if no property matching the name exists.
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### getProperties

    List getProperties(String name) throws ServiceException, RemoteException
    Get all properties matching a name.

    Parameters:
      `name` - The name to search for.
    Returns:
      a List of PropertyInterface objects. If there are no properties matching the name, an empty list is returned.
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### addProperty

    void addProperty(PropertyInterface property) throws ServiceException, RemoteException
    Add a property to the set of properties for this server.

    Parameters:
      `property` - A new Property object to add to this server's properties.
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### removeProperty

    void removeProperty(PropertyInterface property) throws ServiceException, RemoteException
    Remove a property from the server.

    Parameters:
      `property` - property to remove
    Throws:
      `ServiceException` - in the event of Service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### getServers

    List getServers() throws ServiceException, RemoteException
    Get a list of servers that this server uses. This is particularly useful for the LogicalServer subclass.

    Returns:
      a List of Server objects.
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### addServer

    void addServer(ServerInterface server) throws ServiceException, RemoteException
    Add a new server to the list of servers that this server uses.

    Parameters:
      `server` - A new Server to add to the list used by this one.
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### removeServer

    void removeServer(ServerInterface server) throws ServiceException, RemoteException
    Remove a server from the list used by this server.

    Parameters:
      `server` - Server to remove from the list for this server.
    Throws:
      `ServiceException` - In the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### getServed

    List getServed() throws ServiceException, RemoteException
    Get a list of components that are served by this server.

    Returns:
      A list of servers that use this server.
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### addServed

    void addServed(ServerInterface server) throws ServiceException, RemoteException
    Add a new server to the list of servers that use this server.

    Parameters:
      `server` - a new server to add to the list that use this server.
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### removeServed

    void removeServed(ServerInterface server) throws ServiceException, RemoteException
    Remove a server from the list that's served by this server.

    Parameters:
      `server` - The server to remove from the served by list.
    Throws:
      `ServiceException` - in the event of service object failure.
      `RemoteException` - in the event of remote object failure.

  - ### getServiceTypes

    List getServiceTypes() throws ServiceException, RemoteException
    Get a list of the service types for this server. Service types are strings that describe the services that the server provides.

    Returns:
      a List of Strings representing the Service Types for the server.
    Throws:
      `ServiceException` - in the event of repository failure.
      `RemoteException` - in the event of remote object failure.

  - ### getDataPackages

    List getDataPackages() throws ServiceException, RemoteException
    Get a list of the data packages (files) that exist on the server.

    Returns:
      a List of DataPackage objects.
    Throws:
      `ServiceException` - in the event of repository failure.
      `RemoteException` - in the event of remote object failure.

  - ### addDataPackage

    void addDataPackage(DeployedDataPackageInterface dataPackage) throws ServiceException, RemoteException
    Add a DeployedDataPackage to the server as a DataPackage.
    Parameters:
      `dataPackage` - The DeployedDataPackage to add.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeDataPackage

    void removeDataPackage(DeployedDataPackageInterface dataPackage) throws ServiceException, RemoteException
    Remove a data package from the server. This does not delete the data package, just removes it from the association.
    Parameters:
      `dataPackage` - The data package to remove.
    Throws:
      `ServiceException` - If a server error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getConnectionProperties

    List getConnectionProperties() throws ServiceException, RemoteException
    Get the properties from the (first) connection.
    Returns:
      a List of Property objects from the first connection we find, if there are more than one.
    Throws:
      `ServiceException` - in the event of repository error.
      `RemoteException` - in the event of remote object failure.

  - ### getDescriptiveComponent

    SoftwareComponentInterface getDescriptiveComponent() throws ServiceException, RemoteException
    Get the server's descriptive component if one exits.
    Returns:
      A `SoftwareComponentInterface` object that describes this deployed component.
    Throws:
      `ServiceException` - if a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setMachine

    void setMachine(String machineName) throws ServiceException, RemoteException
    Set the machine name this server instance is running on.
    Parameters:
      `machineName` - The DNS name of the machine the server is running on.
    Throws:
      `ServiceException` - if a server error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getMachine

    String getMachine() throws ServiceException, RemoteException
    Get the DNS name of the machine the server instance is running on.
    Returns:
      The machine name.
    Throws:
      `ServiceException` - if a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getSourceConnections

    List getSourceConnections() throws ServiceException, RemoteException
    Get a List of the connection definitions that provide access to this server.
    Returns:
      A List of `ConnectionInterface` objects that can be used to access this server.
    Throws:
      `ServiceException` - If a server error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addSourceConnection

    void addSourceConnection(ConnectionInterface connection) throws ServiceException, RemoteException
    Add a connection definition that can be used to access this server.
    Parameters:
      `connection` - A `ConnectionInterface` object that can be used to access this server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeSourceConnection

    void removeSourceConnection(ConnectionInterface connection) throws ServiceException, RemoteException
    Remove a connection definition from the list that can access this server.
    Parameters:
      `connection` - The `ConnectionInterface` object to remove from the server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getIsLicensed

    boolean getIsLicensed() throws ServiceException, RemoteException
    Get the isLicensed attribute for this server.
    Returns:
      true if the server is defined as licensed, false otherwise.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setIsLicensed

    void setIsLicensed(boolean value) throws ServiceException, RemoteException
    Set isLicensed value for this server.
    Parameters:
      `value` - True or false; setting of the isLicensed attribute.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getServiceTypeObjects

    List getServiceTypeObjects() throws ServiceException, RemoteException
    Get a List containing the ServiceType objects associated to this server.
    Returns:
      A List of `ServiceTypeInterface` objects. Describing the services offered by this server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addServiceType

    void addServiceType(ServiceTypeInterface serviceType) throws ServiceException, RemoteException
    Add a service type to this server. A Service type describes a service offered by a server.
    Parameters:
      `serviceType` - A `ServiceTypeInterface` object to associate with this server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeServiceType

    void removeServiceType(ServiceTypeInterface serviceType) throws ServiceException, RemoteException
    Remove a service type from this server.
    Parameters:
      `serviceType` - The `ServiceTypeInterface` object to disassociate from this server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getComputeTasks

    List getComputeTasks(boolean gotoServer) throws ServiceException, RemoteException
    Get the compute tasks for this server instance.
    Parameters:
      `gotoServer` - if true, force a trip to the server for the data. If false, take the default behavior (go to the server if the data has not been retrieved, but don't go to the server if the data is already in the cache).
    Returns:
      A List of `MetadataInterface` objects representing the compute tasks for this server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addComputeTask

    void addComputeTask(MetadataInterface task) throws ServiceException, RemoteException
    Add a compute task to this server. It's up to the client to add the correct type of object as a compute task. If the wrong type of object is provided, an IllegalArgumentException will be thrown.
    Parameters:
      `task` - The task to add to this server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeComputeTask

    void removeComputeTask(MetadataInterface task) throws ServiceException, RemoteException
    Remove a compute task from this server. The task argument must be the correct type of object, or an IllegalArgumentException will be thrown.
    Parameters:
      `task` - The task to add to this server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getInstallationLocation

    String getInstallationLocation() throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### setInstallationLocation

    void setInstallationLocation(String location) throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`