java.nio.channels
Class FileLock

java.lang.Object
  extended by java.nio.channels.FileLock

public abstract class FileLock
extends Object

Since:
1.4

Constructor Summary
protected FileLock(FileChannel channel, long position, long size, boolean shared)
          Initializes the file lock.
 
Method Summary
 FileChannel channel()
          Returns the file channel upon whose file this lock is held.
 boolean isShared()
          Tells whether this lock is shared.
abstract  boolean isValid()
          Tells whether or not this lock is valid.
 boolean overlaps(long position, long size)
          Tells whether or not this lock overlaps the given lock range.
 long position()
          Returns the position within the file of the first byte of the locked region.
abstract  void release()
          Releases this lock.
 long size()
          Returns the size of the locked region in bytes.
 String toString()
          Returns a string describing the range, type, and validity of this lock.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FileLock

protected FileLock(FileChannel channel,
                   long position,
                   long size,
                   boolean shared)
Initializes the file lock.

Throws:
IllegalArgumentException - If the preconditions on the parameters do not hold
Method Detail

isValid

public abstract boolean isValid()
Tells whether or not this lock is valid.


release

public abstract void release()
                      throws IOException
Releases this lock.

Throws:
IOException - If an error occurs
ClosedChannelException - If the locked channel is no longer open.

channel

public final FileChannel channel()
Returns the file channel upon whose file this lock is held.


isShared

public final boolean isShared()
Tells whether this lock is shared.


overlaps

public final boolean overlaps(long position,
                              long size)
Tells whether or not this lock overlaps the given lock range.


position

public final long position()
Returns the position within the file of the first byte of the locked region.


size

public final long size()
Returns the size of the locked region in bytes.


toString

public final String toString()
Returns a string describing the range, type, and validity of this lock.

Overrides:
toString in class Object
Returns:
the String representing this Object, which may be null
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)