org.nees.data.service.impl
Class AbstractNMDSAdapter

java.lang.Object
  extended byorg.nees.data.service.impl.AbstractNMDSAdapter
All Implemented Interfaces:
InstantiationContractInterface, NMDSAdapter
Direct Known Subclasses:
NMDSAdapterImpl

public abstract class AbstractNMDSAdapter
extends java.lang.Object
implements NMDSAdapter


Field Summary
 
Fields inherited from interface org.nees.data.service.impl.NMDSAdapter
__CLASS_KEY, __IO_KEY, NFMS_LOGICAL_NAME_ID_NAMESPACE, NFMS_LOGICAL_NAME_ID_PREFIX, NMDS_GRID_SERVICE_HANDLE_KEY
 
Constructor Summary
AbstractNMDSAdapter()
           
 
Method Summary
abstract  void addFile(UploadRequestRecord urr)
          Creates a new file entry from the upload request, setting permissions as needed or versioning if so required by the request.
abstract  void deleteFile(LogicalName logicalName, int version)
          Deletes the specified version of the file.
abstract  boolean doesVersionExist(LogicalName logicalName, int version)
          Answers the question "is this version in the repository exist?"
abstract  boolean exists(LogicalName logicalName)
          This returns true if the given logical name has an entry in the repository.
abstract  int getLatestVersionNumber(LogicalName logicalName)
          Ask the repository what the most recent version of this file is that is available.
abstract  java.net.URI getPermanentLocationURI(LogicalName ln, int version)
          This will retrieve the valid permanent location for the given file with the given version number.
abstract  void hasReadPermission(LogicalName ln, int version)
          Before carrying out a download, a user must be checked for having permission to read the file.
abstract  void hasWritePermission(LogicalName ln, int version)
          Checks that the user has write permission on the file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.nees.data.service.impl.NMDSAdapter
getID
 
Methods inherited from interface org.nees.data.util.bootstrap.InstantiationContractInterface
initialize
 

Constructor Detail

AbstractNMDSAdapter

public AbstractNMDSAdapter()
Method Detail

getPermanentLocationURI

public abstract java.net.URI getPermanentLocationURI(LogicalName ln,
                                                     int version)
                                              throws NFMSException
This will retrieve the valid permanent location for the given file with the given version number.

Specified by:
getPermanentLocationURI in interface NMDSAdapter
Throws:
NFMSException

hasReadPermission

public abstract void hasReadPermission(LogicalName ln,
                                       int version)
                                throws NFMSException
Before carrying out a download, a user must be checked for having permission to read the file. This method will throw an exception if the user fails to have the correct permissions and succeed otherwise.

Specified by:
hasReadPermission in interface NMDSAdapter
Throws:
NFMSException

hasWritePermission

public abstract void hasWritePermission(LogicalName ln,
                                        int version)
                                 throws NFMSException
Description copied from interface: NMDSAdapter
Checks that the user has write permission on the file. This is needed before certain append or copy operations. This throws an exception if the user fails to have the correct permissions and succeeds otherwise.

Specified by:
hasWritePermission in interface NMDSAdapter
Throws:
NFMSException

addFile

public abstract void addFile(UploadRequestRecord urr)
                      throws NFMSException
Creates a new file entry from the upload request, setting permissions as needed or versioning if so required by the request. This also sets the physical location.

Specified by:
addFile in interface NMDSAdapter
Throws:
NFMSException

deleteFile

public abstract void deleteFile(LogicalName logicalName,
                                int version)
                         throws NFMSException
Deletes the specified version of the file. No exception is thrown if the stated version does not exist. All this does is mark it as deleted if there is such a version.

Specified by:
deleteFile in interface NMDSAdapter
Throws:
NFMSException

exists

public abstract boolean exists(LogicalName logicalName)
                        throws NFMSException
This returns true if the given logical name has an entry in the repository.

Specified by:
exists in interface NMDSAdapter
Throws:
NFMSException

getLatestVersionNumber

public abstract int getLatestVersionNumber(LogicalName logicalName)
                                    throws NFMSException
Ask the repository what the most recent version of this file is that is available. The very first version is indexed starting at zero. If there is no available entry, then the value of NFMSConstants.FILE_VERSION_UNAVAILABLE is returned. Note that this version will be the latest, if that is not marked as unavailable.

Specified by:
getLatestVersionNumber in interface NMDSAdapter
Throws:
NFMSException

doesVersionExist

public abstract boolean doesVersionExist(LogicalName logicalName,
                                         int version)
                                  throws NFMSException
Answers the question "is this version in the repository exist?"

Specified by:
doesVersionExist in interface NMDSAdapter
Throws:
NFMSException