Class NativeFSLockFactory.NativeFSLock

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Enclosing class:
    NativeFSLockFactory

    static final class NativeFSLockFactory.NativeFSLock
    extends Lock
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.nio.channels.FileChannel channel  
      (package private) boolean closed  
      (package private) java.nio.file.attribute.FileTime creationTime  
      (package private) java.nio.channels.FileLock lock  
      (package private) java.nio.file.Path path  
    • Constructor Summary

      Constructors 
      Constructor Description
      NativeFSLock​(java.nio.channels.FileLock lock, java.nio.channels.FileChannel channel, java.nio.file.Path path, java.nio.file.attribute.FileTime creationTime)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Releases exclusive access.
      void ensureValid()
      Best effort check that this lock is still valid.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • lock

        final java.nio.channels.FileLock lock
      • channel

        final java.nio.channels.FileChannel channel
      • path

        final java.nio.file.Path path
      • creationTime

        final java.nio.file.attribute.FileTime creationTime
      • closed

        volatile boolean closed
    • Constructor Detail

      • NativeFSLock

        NativeFSLock​(java.nio.channels.FileLock lock,
                     java.nio.channels.FileChannel channel,
                     java.nio.file.Path path,
                     java.nio.file.attribute.FileTime creationTime)
    • Method Detail

      • ensureValid

        public void ensureValid()
                         throws java.io.IOException
        Description copied from class: Lock
        Best effort check that this lock is still valid. Locks could become invalidated externally for a number of reasons, for example if a user deletes the lock file manually or when a network filesystem is in use.
        Specified by:
        ensureValid in class Lock
        Throws:
        java.io.IOException - if the lock is no longer valid.
      • close

        public void close()
                   throws java.io.IOException
        Description copied from class: Lock
        Releases exclusive access.

        Note that exceptions thrown from close may require human intervention, as it may mean the lock was no longer valid, or that fs permissions prevent removal of the lock file, or other reasons.

        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class Lock
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object