refactored from org.vamsas to uk.ac.vamsas
[vamsas.git] / src / org / vamsas / client / simpleclient / Lock.java
diff --git a/src/org/vamsas/client/simpleclient/Lock.java b/src/org/vamsas/client/simpleclient/Lock.java
deleted file mode 100644 (file)
index d3a5889..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.vamsas.client.simpleclient;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.RandomAccessFile;
-import java.nio.channels.ByteChannel;
-import java.nio.channels.FileChannel;
-import java.nio.channels.ReadableByteChannel;
-
-import org.apache.commons.logging.LogFactory;
-
-/**
- * transient object representing a file lock
- * This lock should hold for all processes interacting in a session.
- * @author jimp
- */
-
-public abstract class Lock {
-  protected org.apache.commons.logging.Log log = LogFactory.getLog(Lock.class);
-  File target = null; // The file that is being locked
-  protected RandomAccessFile rafile=null;
-  
-  /**
-   * creates a valid Lock (test with <method>isLocked</method>)
-   * if a lock could be obtained for <param>lockfile</param>
-   * @param lockfile
-   */
-  protected Lock(java.io.File lockfile) {
-    target = lockfile;
-  }
-  /**
-   * 
-   * @return true if lock is held on the target
-   */
-  public abstract boolean isLocked();
-  /**
-   * release lock and close all managed channels to file
-   *
-   */
-  public abstract void release();
-  /**
-   * optionally close the open random access channel on the file when releasing lock
-   * @param closeChannel
-   */
-  public abstract void release(boolean closeChannel);
-
-  /**
-   * gets Locked Stream for reading from
-   * @param atStart true to start reading at beginning of file.
-   * @return null if file not locked
-   * @throws IOException
-   */
-  public abstract FileInputStream getFileInputStream(boolean atStart) throws IOException;
-
-  /**
-   * gets Locked stream to write to
-   * FileInput always starts at the *end* of the file (after any truncation)
-   * @param clear true means file will be cleared to zero length
-   * @return null if file is not locked
-   * @throws IOException
-   */
-  public abstract FileOutputStream getFileOutputStream(boolean clear) throws IOException;
-  /**
-   * return buffered output stream to locked file.
-   * @param clear - true means file is truncated to 0 length before writing 
-   * @return
-   */
-  public abstract BufferedOutputStream getBufferedOutputStream(boolean clear) throws IOException;
-  
-  protected void finalize() throws Throwable {
-    target=null;
-  }
-  /**
-   * return buffered input stream for locked file.
-   * @param atStart - true means read from begining of file
-   * @return null if file is not locked.
-   */
-  public BufferedInputStream getBufferedInputStream(boolean atStart) throws IOException {
-    FileInputStream fis = getFileInputStream(atStart);
-    if (fis!=null)
-      return new BufferedInputStream(fis);
-    return null;
-  }
-  /**
-   * safe lock target length() function.
-   * @return -1 for non-lockable target, otherwise target's file length 
-   */
-  public abstract long length();
-  public abstract RandomAccessFile getRaFile() throws IOException;
-  public abstract FileChannel getRaChannel() throws IOException;
-}