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

Package com.sas.services.publish

# Class AbstractEntry

java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
com.sas.services.publish.AbstractEntry

All Implemented Interfaces:
  `com.sas.entities.EntityKeyInterface`, `EntryInterface`, `Serializable`, `Remote`

Direct Known Subclasses:
  `BinaryFileEntry`, `HTMLEntry`, `ReferenceEntry`, `ResultPackage`, `TextFileEntry`, `ViewerEntry`

@SASScope("ALL") @BinaryCompatibilityOnly public abstract class AbstractEntry extends UnicastRemoteObject implements EntryInterface
Abstract implementation of a result package entry. Specific entries may extend this implementation. It enables the retrieval of attributes associated with the result package entry. This class is intended to be used internally by the Publish Service.

Since:
  1.0
See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `BINARY_COMPAT_VERSION`
  Binary entry compatibility version to be used internally only
  `static final int`
  `CATALOG_COMPAT_VERSION`
  SAS catalog entry compatibility version to be used internally only
  `static final int`
  `DATASET_COMPAT_VERSION`
  SAS dataset entry compatibility version to be used internally only 9.1 noTranscoding option compatability version is 33. 9.4 extended attribute compatability version is 34.
  `static final int`
  `DEFAULT_ENTRY_VERSION`
  Default entry version.
  `static final int`
  `HTML_COMPAT_VERSION`
  HTML entry compatibility version to be used internally only
  `static final int`
  `MDDB_COMPAT_VERSION`
  SAS MDDB entry compatibility version to be used internally only
  `static final int`
  `NESTEDPACKAGE_COMPAT_VERSION`
  Nested package compatibility version to be used internally only
  `static final int`
  `REFERENCE_COMPAT_VERSION`
  reference entry compatibility version to be used internally only
  `static final int`
  `SQLVIEW_COMPAT_VERSION`
  SAS SQL view entry compatibility version to be used internally only
  `static final int`
  `TEXT_COMPAT_VERSION`
  text entry compatibility version to be used internally only
  `static final int`
  `VERSION_94_EXTENDED_ATTRIBUTES`
  Extended data set attribute compatibility version to be used internally only for data set entries
  `static final int`
  `VIEWER_COMPAT_VERSION`
  Viewer entry compatibility version to be used internally only

  ### Fields inherited from class java.rmi.server.RemoteObject

  `ref`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `AbstractEntry()`
  Constructs a default instance using RMI socket factories appropriate for AbstractEntry.class.
  `protected`
  `AbstractEntry(Class theClass)`
  Constructs an instance using RMI socket factories appropriate for the specified class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Returns the description.
  `String`
  `getEntityKey()`
  Get the unique identifier of this result package or entry.
  `AttributeMapInterface`
  `getNameValuePairs()`
  Returns the name/value pairs.
  `String`
  `getURL()`
  Returns the URL that identifies the entry.
  `protected boolean`
  `isClosed()`
  Determines if the entry or package has already been closed.
  `boolean`
  `isReadOnly()`
  Returns true when the entry or package is read only.
  `boolean`
  `sameEntity(com.sas.entities.EntityKeyInterface entity)`
  `protected void`
  `setClosed(boolean closed)`
  Sets the close state of the entry or package.
  `void`
  `setDescription(String description)`
  Set the description.
  `void`
  `setEntityKey(String entityKey)`
  Set the unique entity key.
  `void`
  `setNameValuePairs(AttributeMapInterface namevalues)`
  Sets the name/value pairs.
  `protected void`
  `setRead(boolean readOnly)`
  Sets the readOnly state of the entry or package.
  `protected void`
  `throwExceptionIfClosed()`
  Throws an illegalStateException if the entry has already been closed.

  ### Methods inherited from class java.rmi.server.UnicastRemoteObject

  `clone, exportObject, exportObject, exportObject, exportObject, exportObject, unexportObject`

  ### Methods inherited from class java.rmi.server.RemoteServer

  `getClientHost, getLog, setLog`

  ### Methods inherited from class java.rmi.server.RemoteObject

  `equals, getRef, hashCode, toString, toStub`

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

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### DEFAULT_ENTRY_VERSION

    public static final int DEFAULT_ENTRY_VERSION
    Default entry version.
    See Also:
      - Constant Field Values

  - ### REFERENCE_COMPAT_VERSION

    public static final int REFERENCE_COMPAT_VERSION
    reference entry compatibility version to be used internally only
    See Also:
      - Constant Field Values

  - ### TEXT_COMPAT_VERSION

    public static final int TEXT_COMPAT_VERSION
    text entry compatibility version to be used internally only
    See Also:
      - Constant Field Values

  - ### BINARY_COMPAT_VERSION

    public static final int BINARY_COMPAT_VERSION
    Binary entry compatibility version to be used internally only
    See Also:
      - Constant Field Values

  - ### HTML_COMPAT_VERSION

    public static final int HTML_COMPAT_VERSION
    HTML entry compatibility version to be used internally only
    See Also:
      - Constant Field Values

  - ### VIEWER_COMPAT_VERSION

    public static final int VIEWER_COMPAT_VERSION
    Viewer entry compatibility version to be used internally only
    See Also:
      - Constant Field Values

  - ### DATASET_COMPAT_VERSION

    public static final int DATASET_COMPAT_VERSION
    SAS dataset entry compatibility version to be used internally only 9.1 noTranscoding option compatability version is 33. 9.4 extended attribute compatability version is 34.
    See Also:
      - Constant Field Values

  - ### VERSION_94_EXTENDED_ATTRIBUTES

    public static final int VERSION_94_EXTENDED_ATTRIBUTES
    Extended data set attribute compatibility version to be used internally only for data set entries
    See Also:
      - Constant Field Values

  - ### CATALOG_COMPAT_VERSION

    public static final int CATALOG_COMPAT_VERSION
    SAS catalog entry compatibility version to be used internally only
    See Also:
      - Constant Field Values

  - ### MDDB_COMPAT_VERSION

    public static final int MDDB_COMPAT_VERSION
    SAS MDDB entry compatibility version to be used internally only
    See Also:
      - Constant Field Values

  - ### SQLVIEW_COMPAT_VERSION

    public static final int SQLVIEW_COMPAT_VERSION
    SAS SQL view entry compatibility version to be used internally only
    See Also:
      - Constant Field Values

  - ### NESTEDPACKAGE_COMPAT_VERSION

    public static final int NESTEDPACKAGE_COMPAT_VERSION
    Nested package compatibility version to be used internally only
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### AbstractEntry

    public AbstractEntry() throws RemoteException
    Constructs a default instance using RMI socket factories appropriate for AbstractEntry.class.
    Throws:
      `RemoteException` - if unable to export the remote object.

  - ### AbstractEntry

    protected AbstractEntry(Class theClass) throws RemoteException
    Constructs an instance using RMI socket factories appropriate for the specified class.
    Parameters:
      `theClass` - The class that will be used to determine the appropriate RMI socket factories.
    Throws:
      `RemoteException` - if unable to export the remote object.

- ## Method Details

  - ### throwExceptionIfClosed

    protected void throwExceptionIfClosed() throws IllegalStateException
    Throws an illegalStateException if the entry has already been closed.
    Throws:
      `IllegalStateException` - If the package or entry has already been closed.

  - ### isClosed

    protected boolean isClosed()
    Determines if the entry or package has already been closed.
    Returns:
      `boolean` `True` if the package or entry is already closed; otherwise `false` is returned.

  - ### setClosed

    protected void setClosed(boolean closed)
    Sets the close state of the entry or package.
    Parameters:
      `closed` - The close flag. The closed state should be `true` when the result package is closed.

  - ### isReadOnly

    public boolean isReadOnly() throws RemoteException
    Returns true when the entry or package is read only. This occurs when the result package is an existing package that has been retrieved. Entries are read only if they belong to a package that is being retrieved.
    Specified by:
      `isReadOnly` in interface `EntryInterface`
    Returns:
      `boolean` `True` if read only; otherwise if this is a new entry/package under construction, `false` is returned.
    Throws:
      `IllegalStateException` - If the result package has already been closed.
      `RemoteException` - If a network anomaly is encountered.

  - ### setRead

    protected void setRead(boolean readOnly)
    Sets the readOnly state of the entry or package.
    Parameters:
      `readOnly` - The readOnly flag. The read only should be `true` when the result package is read only.

  - ### getDescription

    public String getDescription() throws RemoteException, IllegalStateException
    Returns the description.
    Specified by:
      `getDescription` in interface `EntryInterface`
    Returns:
      `String` The description.
    Throws:
      `RemoteException` - If a network anomaly is encountered.
      `IllegalStateException` - If the package has already been closed.

  - ### setDescription

    public void setDescription(String description) throws IllegalStateException, RemoteException
    Set the description.
    Specified by:
      `setDescription` in interface `EntryInterface`
    Parameters:
      `description` - The description.
    Throws:
      `IllegalStateException` - If the entry or package is read only or if the result package has already been closed.
      `RemoteException` - If a network anomaly is encountered.

  - ### getNameValuePairs

    public AttributeMapInterface getNameValuePairs() throws TransportException, RemoteException, IllegalStateException
    Returns the name/value pairs. At publish time, user-specified name/value pairs may be associated with a result package or its entries.
    Specified by:
      `getNameValuePairs` in interface `EntryInterface`
    Returns:
      `AttributeMapInterface` The name values.
    Throws:
      `TransportException` - If the transport encounters an error getting name value pairs.
      `RemoteException` - If a network anomaly is encountered.
      `IllegalStateException` - If the package has already been closed.

  - ### setNameValuePairs

    public void setNameValuePairs(AttributeMapInterface namevalues) throws IllegalStateException, RemoteException
    Sets the name/value pairs. These name/value pairs provide user or application control information describing the package or entry.
    Specified by:
      `setNameValuePairs` in interface `EntryInterface`
    Parameters:
      `namevalues` - The name/value pairs.
    Throws:
      `IllegalStateException` - If the entry or package is being retrieved or if the result package has already been closed.
      `RemoteException` - If a network anomaly is encountered.

  - ### getEntityKey

    public String getEntityKey() throws IllegalStateException, RemoteException
    Get the unique identifier of this result package or entry.
    Specified by:
      `getEntityKey` in interface `com.sas.entities.EntityKeyInterface`
    Returns:
      `String` The unique identifier.
    Throws:
      `RemoteException` - If a network anomaly is encountered.
      `IllegalStateException` - If the package has already been closed.

  - ### sameEntity

    public boolean sameEntity(com.sas.entities.EntityKeyInterface entity) throws RemoteException
    Specified by:
      `sameEntity` in interface `com.sas.entities.EntityKeyInterface`
    Throws:
      `RemoteException`

  - ### setEntityKey

    public void setEntityKey(String entityKey) throws RemoteException, IllegalStateException
    Set the unique entity key. The entity key for the result package or entry cannot be changed. This method will throw an IllegalStateException.
    Specified by:
      `setEntityKey` in interface `com.sas.entities.EntityKeyInterface`
    Parameters:
      `entityKey` - Unique entity key.
    Throws:
      `RemoteException` - If a network anomaly is encountered.
      `IllegalStateException` - The unique entity key for a result package or entry cannot be changed.

  - ### getURL

    public String getURL() throws IllegalStateException, TransportException, RemoteException
    Returns the URL that identifies the entry.
    Specified by:
      `getURL` in interface `EntryInterface`
    Returns:
      `String` The URL string; may be `null`.
    Throws:
      `IllegalStateException` - If the result package has already been closed.
      `TransportException` - If the transport encounters an error obtaining the URL.
      `RemoteException` - If a network anomaly is encountered.