Package org.codehaus.groovy.runtime

## Class WritablePath

- java.lang.Object
- - org.codehaus.groovy.runtime.WritablePath

- All Implemented Interfaces:
    `Writable`, `Comparable<Path>`, `Iterable<Path>`, `Path`, `Watchable`

      public class WritablePath
      extends Object
      implements Path, Writable

  A Writable Path.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WritablePath​(Path delegate)` |
    `WritablePath​(Path delegate, String encoding)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `compareTo​(Path other)` |
    `boolean` | `endsWith​(String other)` |
    `boolean` | `endsWith​(Path other)` |
    `boolean` | `equals​(Object other)` |
    `Path` | `getFileName()` |
    `FileSystem` | `getFileSystem()` |
    `Path` | `getName​(int index)` |
    `int` | `getNameCount()` |
    `Path` | `getParent()` |
    `Path` | `getRoot()` |
    `int` | `hashCode()` |
    `boolean` | `isAbsolute()` |
    `Iterator<Path>` | `iterator()` |
    `Path` | `normalize()` |
    `WatchKey` | `register​(WatchService watcher, WatchEvent.Kind<?>... events)` |
    `WatchKey` | `register​(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers)` |
    `Path` | `relativize​(Path other)` |
    `Path` | `resolve​(String other)` |
    `Path` | `resolve​(Path other)` |
    `Path` | `resolveSibling​(String other)` |
    `Path` | `resolveSibling​(Path other)` |
    `boolean` | `startsWith​(String other)` |
    `boolean` | `startsWith​(Path other)` |
    `Path` | `subpath​(int beginIndex, int endIndex)` |
    `Path` | `toAbsolutePath()` |
    `File` | `toFile()` |
    `Path` | `toRealPath​(LinkOption... options)` |
    `String` | `toString()` |
    `URI` | `toUri()` |
    `Writer` | `writeTo​(Writer out)` | Writes this object to the given writer.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### WritablePath

          public WritablePath​(Path delegate)

    - #### WritablePath

          public WritablePath​(Path delegate,
                              String encoding)

  - ### Method Detail

    - #### writeTo

          public Writer writeTo​(Writer out)
                         throws IOException

      Description copied from interface: `Writable`
      Writes this object to the given writer.

      This is used to defer content creation until the point when it is streamed to the output destination. Oftentimes, content will be defined but not necessarily created (as is may be the case with a Closure definition.) In that case, the output is then 'deferred' to the point when it is serialized to the writer. This class may be used whenever an object should be responsible for creating its own textual representation, but creating the entire output as a single String would be inefficient (such as outputting a multi-gigabyte XML document.)

      Specified by:
        `writeTo` in interface `Writable`
      Parameters:
        `out` - the Writer to which this Writable should output its data.
      Returns:
        the Writer that was passed
      Throws:
        `IOException` - if an error occurred while outputting data to the writer

    - #### getFileSystem

          public FileSystem getFileSystem()

      Specified by:
        `getFileSystem` in interface `Path`

    - #### isAbsolute

          public boolean isAbsolute()

      Specified by:
        `isAbsolute` in interface `Path`

    - #### getRoot

          public Path getRoot()

      Specified by:
        `getRoot` in interface `Path`

    - #### getFileName

          public Path getFileName()

      Specified by:
        `getFileName` in interface `Path`

    - #### getParent

          public Path getParent()

      Specified by:
        `getParent` in interface `Path`

    - #### getNameCount

          public int getNameCount()

      Specified by:
        `getNameCount` in interface `Path`

    - #### getName

          public Path getName​(int index)

      Specified by:
        `getName` in interface `Path`

    - #### subpath

          public Path subpath​(int beginIndex,
                              int endIndex)

      Specified by:
        `subpath` in interface `Path`

    - #### startsWith

          public boolean startsWith​(Path other)

      Specified by:
        `startsWith` in interface `Path`

    - #### startsWith

          public boolean startsWith​(String other)

      Specified by:
        `startsWith` in interface `Path`

    - #### endsWith

          public boolean endsWith​(Path other)

      Specified by:
        `endsWith` in interface `Path`

    - #### endsWith

          public boolean endsWith​(String other)

      Specified by:
        `endsWith` in interface `Path`

    - #### normalize

          public Path normalize()

      Specified by:
        `normalize` in interface `Path`

    - #### resolve

          public Path resolve​(Path other)

      Specified by:
        `resolve` in interface `Path`

    - #### resolve

          public Path resolve​(String other)

      Specified by:
        `resolve` in interface `Path`

    - #### resolveSibling

          public Path resolveSibling​(Path other)

      Specified by:
        `resolveSibling` in interface `Path`

    - #### resolveSibling

          public Path resolveSibling​(String other)

      Specified by:
        `resolveSibling` in interface `Path`

    - #### relativize

          public Path relativize​(Path other)

      Specified by:
        `relativize` in interface `Path`

    - #### toUri

          public URI toUri()

      Specified by:
        `toUri` in interface `Path`

    - #### toAbsolutePath

          public Path toAbsolutePath()

      Specified by:
        `toAbsolutePath` in interface `Path`

    - #### toRealPath

          public Path toRealPath​(LinkOption... options)
                          throws IOException

      Specified by:
        `toRealPath` in interface `Path`
      Throws:
        `IOException`

    - #### toFile

          public File toFile()

      Specified by:
        `toFile` in interface `Path`

    - #### register

          public WatchKey register​(WatchService watcher,
                                   WatchEvent.Kind<?>[] events,
                                   WatchEvent.Modifier... modifiers)
                            throws IOException

      Specified by:
        `register` in interface `Path`
      Specified by:
        `register` in interface `Watchable`
      Throws:
        `IOException`

    - #### register

          public WatchKey register​(WatchService watcher,
                                   WatchEvent.Kind<?>... events)
                            throws IOException

      Specified by:
        `register` in interface `Path`
      Specified by:
        `register` in interface `Watchable`
      Throws:
        `IOException`

    - #### iterator

          public Iterator<Path> iterator()

      Specified by:
        `iterator` in interface `Iterable<Path>`
      Specified by:
        `iterator` in interface `Path`

    - #### compareTo

          public int compareTo​(Path other)

      Specified by:
        `compareTo` in interface `Comparable<Path>`
      Specified by:
        `compareTo` in interface `Path`

    - #### equals

          public boolean equals​(Object other)

      Specified by:
        `equals` in interface `Path`
      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in interface `Path`
      Overrides:
        `hashCode` in class `Object`

    - #### toString

          public String toString()

      Specified by:
        `toString` in interface `Path`
      Overrides:
        `toString` in class `Object`