name.pachler.nio.file.impl
Class PathImpl

java.lang.Object
  extended by name.pachler.nio.file.Path
      extended by name.pachler.nio.file.impl.PathImpl
All Implemented Interfaces:
Watchable

public class PathImpl
extends Path

This is a minimal implementation of JDK7's Path class, so all we offer here is what is required for WatchService and friends to work


Constructor Summary
PathImpl(java.io.File file)
          This constructor does not comply with JDK7.
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 java.io.File getFile()
          This method does not exist in JDK7 and is only supplied for convenience
 int hashCode()
           
 WatchKey register(WatchService watcher, WatchEvent.Kind<?>... events)
          Registers the file system path (a directory) with the given WatchService and provides a WatchKey as a handle for that registration.
 WatchKey register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers)
          Registers the file system path (a directory) with the given WatchServiceand provides a WatchKey as a handle for that registration.
 Path resolve(Path other)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PathImpl

public PathImpl(java.io.File file)
This constructor does not comply with JDK7.

Parameters:
filere -
Method Detail

resolve

public Path resolve(Path other)
Specified by:
resolve in class Path

register

public WatchKey register(WatchService watcher,
                         WatchEvent.Kind<?>... events)
                  throws java.io.IOException
Description copied from interface: Watchable
Registers the file system path (a directory) with the given WatchService and provides a WatchKey as a handle for that registration. Equivalent to calling register(watcher, events, new WatchEvent.Modifier[0]);

Specified by:
register in interface Watchable
Specified by:
register in class Path
Throws:
java.io.IOException
See Also:
Path.register(name.pachler.nio.file.WatchService, name.pachler.nio.file.WatchEvent.Kind[], name.pachler.nio.file.WatchEvent.Modifier[])

register

public WatchKey register(WatchService watcher,
                         WatchEvent.Kind<?>[] events,
                         WatchEvent.Modifier... modifiers)
                  throws java.io.IOException
Description copied from interface: Watchable
Registers the file system path (a directory) with the given WatchServiceand provides a WatchKey as a handle for that registration. The events and modifier lists determine the events that the WatchService will report.
If a path instance is passed in that represents the same file system object that has been specified in a previous call to this method with the same WatchService, the same WatchKey will be returned. In this case, the WatchKey's watch settings are altered to match the new event and modifier lists. Note that such changes may result in StandardWatchEventKind.OVERFLOW events to be reported on some platforms.
Not all event kinds and modifiers defined in StandardWatchEventKind, ExtendedWatchEventKind and ExtendedWatchEventModifier may be supported on a target platform (typically though, in this implementation, all event kinds defined in StandardWatchEventKind are always supported).

Specified by:
register in interface Watchable
Specified by:
register in class Path
Parameters:
watcher - a valid WatchService instance.
events - The events to register for. The event kinds defined in StandardWatchEventKindand ExtendedWatchEventKind define valid event kinds that can be passed in here. Not that not all event kinds may be supported on a given platform, so see the documentation of a specific event kind.
modifiers - The event modifiers to use when registering. WatchEvent.Modifiers define special behaviour that's expected from the WatchService. Note that some event modifiers may not be supported on a given platform; see the specific modifier for details.
Returns:
a new WatchKey that represents the registration.
Throws:
java.io.IOException - for general I/O errors
See Also:
StandardWatchEventKind, ExtendedWatchEventKind, ExtendedWatchEventModifier

getFile

public java.io.File getFile()
This method does not exist in JDK7 and is only supplied for convenience


toString

public java.lang.String toString()
Specified by:
toString in class Path

equals

public boolean equals(java.lang.Object obj)
Specified by:
equals in class Path

hashCode

public int hashCode()
Specified by:
hashCode in class Path