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

com.sas.services.publish
Class AbstractEntry

com.sas.services.publish.AbstractEntry
All Implemented Interfaces:
com.sas.entities.EntityKeyInterface, EntryInterface, java.io.Serializable, java.rmi.Remote
Direct Known Subclasses:
BinaryFileEntry, HTMLEntry, ReferenceEntry, ResultPackage, TextFileEntry, ViewerEntry

public abstract class AbstractEntry
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
static int BINARY_COMPAT_VERSION
          Binary entry compatibility version to be used internally only
static int CATALOG_COMPAT_VERSION
          SAS catalog entry compatibility version to be used internally only
static int DATASET_COMPAT_VERSION
          SAS dataset entry compatibility version to be used internally only 9.1 noTranscoding option compatability version is 33.
static int DEFAULT_ENTRY_VERSION
          Default entry version.
static int HTML_COMPAT_VERSION
          HTML entry compatibility version to be used internally only
static int MDDB_COMPAT_VERSION
          SAS MDDB entry compatibility version to be used internally only
static int NESTEDPACKAGE_COMPAT_VERSION
          Nested package compatibility version to be used internally only
static int REFERENCE_COMPAT_VERSION
          reference entry compatibility version to be used internally only
static int SQLVIEW_COMPAT_VERSION
          SAS SQL view entry compatibility version to be used internally only
static int TEXT_COMPAT_VERSION
          text entry compatibility version to be used internally only
static int VIEWER_COMPAT_VERSION
          Viewer entry compatibility version to be used internally only
 
Constructor Summary
  AbstractEntry()
          Constructs a default instance using RMI socket factories appropriate for AbstractEntry.class.
protected AbstractEntry(java.lang.Class theClass)
          Constructs an instance using RMI socket factories appropriate for the specified class.
 
Method Summary
 java.lang.String getDescription()
          Returns the description.
 java.lang.String getEntityKey()
          Get the unique identifier of this result package or entry.
 AttributeMapInterface getNameValuePairs()
          Returns the name/value pairs.
 java.lang.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(java.lang.String description)
          Set the description.
 void setEntityKey(java.lang.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.
 

Field Detail

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.

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 Detail

AbstractEntry

public AbstractEntry()
              throws java.rmi.RemoteException
Constructs a default instance using RMI socket factories appropriate for AbstractEntry.class.

Throws:
java.rmi.RemoteException - if unable to export the remote object.

AbstractEntry

protected AbstractEntry(java.lang.Class theClass)
                 throws java.rmi.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:
java.rmi.RemoteException - if unable to export the remote object.
Method Detail

throwExceptionIfClosed

protected void throwExceptionIfClosed()
                               throws java.lang.IllegalStateException
Throws an illegalStateException if the entry has already been closed.

Throws:
java.lang.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

isReadOnly

public boolean isReadOnly()
                   throws java.rmi.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:
java.lang.IllegalStateException - If the result package has already been closed.
java.rmi.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

getDescription

public java.lang.String getDescription()
                                throws java.rmi.RemoteException,
                                       java.lang.IllegalStateException
Returns the description.

Specified by:
getDescription in interface EntryInterface
Returns:
String The description.
Throws:
java.rmi.RemoteException - If a network anomaly is encountered.
java.lang.IllegalStateException - If the package has already been closed.

setDescription

public void setDescription(java.lang.String description)
                    throws java.lang.IllegalStateException,
                           java.rmi.RemoteException
Set the description.

Specified by:
setDescription in interface EntryInterface
Parameters:
description - The description.
Throws:
java.lang.IllegalStateException - If the entry or package is read only or if the result package has already been closed.
java.rmi.RemoteException - If a network anomaly is encountered.

getNameValuePairs

public AttributeMapInterface getNameValuePairs()
                                        throws TransportException,
                                               java.rmi.RemoteException,
                                               java.lang.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.
java.rmi.RemoteException - If a network anomaly is encountered.
java.lang.IllegalStateException - If the package has already been closed.

setNameValuePairs

public void setNameValuePairs(AttributeMapInterface namevalues)
                       throws java.lang.IllegalStateException,
                              java.rmi.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:
java.lang.IllegalStateException - If the entry or package is being retrieved or if the result package has already been closed.
java.rmi.RemoteException - If a network anomaly is encountered.

getEntityKey

public java.lang.String getEntityKey()
                              throws java.lang.IllegalStateException,
                                     java.rmi.RemoteException
Get the unique identifier of this result package or entry.

Specified by:
getEntityKey in interface com.sas.entities.EntityKeyInterface
Returns:
StringThrows:
java.rmi.RemoteException - If a network anomaly is encountered.
java.lang.IllegalStateException - If the package has already been closed.

sameEntity

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

setEntityKey

public void setEntityKey(java.lang.String entityKey)
                  throws java.rmi.RemoteException,
                         java.lang.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:
java.rmi.RemoteException - If a network anomaly is encountered.
java.lang.IllegalStateException - The unique entity key for a result package or entry cannot be changed.

getURL

public java.lang.String getURL()
                        throws java.lang.IllegalStateException,
                               TransportException,
                               java.rmi.RemoteException
Returns the URL that identifies the entry.

Specified by:
getURL in interface EntryInterface
Returns:
String The URL string; may be null.
Throws:
java.lang.IllegalStateException - If the result package has already been closed.
TransportException - If the transport encounters an error obtaining the URL.
java.rmi.RemoteException - If a network anomaly is encountered.

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




Copyright © 2009 SAS Institute Inc. All Rights Reserved.