org.codehaus.groovy.runtime

## Class WritablePath

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

All Implemented Interfaces:
  Writable, java.lang.Comparable<java.nio.file.Path>, java.lang.Iterable<java.nio.file.Path>, java.nio.file.Path, java.nio.file.Watchable

    public class WritablePath
    extends java.lang.Object
    implements java.nio.file.Path, Writable

A Writable Path.

Author:
  Paolo Di Tommaso <paolo.ditommaso@gmail.com>, John Wilson

### Constructor Summary

Constructors
Constructor and Description
`WritablePath(java.nio.file.Path delegate)`
`WritablePath(java.nio.file.Path delegate, java.lang.String encoding)`

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `compareTo(java.nio.file.Path other)`
`boolean` `endsWith(java.nio.file.Path other)`
`boolean` `endsWith(java.lang.String other)`
`boolean` `equals(java.lang.Object other)`
`java.nio.file.Path` `getFileName()`
`java.nio.file.FileSystem` `getFileSystem()`
`java.nio.file.Path` `getName(int index)`
`int` `getNameCount()`
`java.nio.file.Path` `getParent()`
`java.nio.file.Path` `getRoot()`
`int` `hashCode()`
`boolean` `isAbsolute()`
`java.util.Iterator<java.nio.file.Path>` `iterator()`
`java.nio.file.Path` `normalize()`
`java.nio.file.WatchKey` `register(java.nio.file.WatchService watcher, java.nio.file.WatchEvent.Kind<?>... events)`
`java.nio.file.WatchKey` `register(java.nio.file.WatchService watcher, java.nio.file.WatchEvent.Kind<?>[] events, java.nio.file.WatchEvent.Modifier... modifiers)`
`java.nio.file.Path` `relativize(java.nio.file.Path other)`
`java.nio.file.Path` `resolve(java.nio.file.Path other)`
`java.nio.file.Path` `resolve(java.lang.String other)`
`java.nio.file.Path` `resolveSibling(java.nio.file.Path other)`
`java.nio.file.Path` `resolveSibling(java.lang.String other)`
`boolean` `startsWith(java.nio.file.Path other)`
`boolean` `startsWith(java.lang.String other)`
`java.nio.file.Path` `subpath(int beginIndex, int endIndex)`
`java.nio.file.Path` `toAbsolutePath()`
`java.io.File` `toFile()`
`java.nio.file.Path` `toRealPath(java.nio.file.LinkOption... options)`
`java.lang.String` `toString()`
`java.net.URI` `toUri()`
`java.io.Writer` `writeTo(java.io.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(java.nio.file.Path delegate)

#### WritablePath

    public WritablePath(java.nio.file.Path delegate,
                        java.lang.String encoding)

### Method Detail

#### writeTo

    public java.io.Writer writeTo(java.io.Writer out)
                           throws java.io.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:
  `java.io.IOException` - if an error occurred while outputting data to the writer

#### getFileSystem

    public java.nio.file.FileSystem getFileSystem()

Specified by:
  `getFileSystem` in interface `java.nio.file.Path`

#### isAbsolute

    public boolean isAbsolute()

Specified by:
  `isAbsolute` in interface `java.nio.file.Path`

#### getRoot

    public java.nio.file.Path getRoot()

Specified by:
  `getRoot` in interface `java.nio.file.Path`

#### getFileName

    public java.nio.file.Path getFileName()

Specified by:
  `getFileName` in interface `java.nio.file.Path`

#### getParent

    public java.nio.file.Path getParent()

Specified by:
  `getParent` in interface `java.nio.file.Path`

#### getNameCount

    public int getNameCount()

Specified by:
  `getNameCount` in interface `java.nio.file.Path`

#### getName

    public java.nio.file.Path getName(int index)

Specified by:
  `getName` in interface `java.nio.file.Path`

#### subpath

    public java.nio.file.Path subpath(int beginIndex,
                                      int endIndex)

Specified by:
  `subpath` in interface `java.nio.file.Path`

#### startsWith

    public boolean startsWith(java.nio.file.Path other)

Specified by:
  `startsWith` in interface `java.nio.file.Path`

#### startsWith

    public boolean startsWith(java.lang.String other)

Specified by:
  `startsWith` in interface `java.nio.file.Path`

#### endsWith

    public boolean endsWith(java.nio.file.Path other)

Specified by:
  `endsWith` in interface `java.nio.file.Path`

#### endsWith

    public boolean endsWith(java.lang.String other)

Specified by:
  `endsWith` in interface `java.nio.file.Path`

#### normalize

    public java.nio.file.Path normalize()

Specified by:
  `normalize` in interface `java.nio.file.Path`

#### resolve

    public java.nio.file.Path resolve(java.nio.file.Path other)

Specified by:
  `resolve` in interface `java.nio.file.Path`

#### resolve

    public java.nio.file.Path resolve(java.lang.String other)

Specified by:
  `resolve` in interface `java.nio.file.Path`

#### resolveSibling

    public java.nio.file.Path resolveSibling(java.nio.file.Path other)

Specified by:
  `resolveSibling` in interface `java.nio.file.Path`

#### resolveSibling

    public java.nio.file.Path resolveSibling(java.lang.String other)

Specified by:
  `resolveSibling` in interface `java.nio.file.Path`

#### relativize

    public java.nio.file.Path relativize(java.nio.file.Path other)

Specified by:
  `relativize` in interface `java.nio.file.Path`

#### toUri

    public java.net.URI toUri()

Specified by:
  `toUri` in interface `java.nio.file.Path`

#### toAbsolutePath

    public java.nio.file.Path toAbsolutePath()

Specified by:
  `toAbsolutePath` in interface `java.nio.file.Path`

#### toRealPath

    public java.nio.file.Path toRealPath(java.nio.file.LinkOption... options)
                                  throws java.io.IOException

Specified by:
  `toRealPath` in interface `java.nio.file.Path`
Throws:
  `java.io.IOException`

#### toFile

    public java.io.File toFile()

Specified by:
  `toFile` in interface `java.nio.file.Path`

#### register

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

Specified by:
  `register` in interface `java.nio.file.Path`
Specified by:
  `register` in interface `java.nio.file.Watchable`
Throws:
  `java.io.IOException`

#### register

    public java.nio.file.WatchKey register(java.nio.file.WatchService watcher,
                                           java.nio.file.WatchEvent.Kind<?>... events)
                                    throws java.io.IOException

Specified by:
  `register` in interface `java.nio.file.Path`
Specified by:
  `register` in interface `java.nio.file.Watchable`
Throws:
  `java.io.IOException`

#### iterator

    public java.util.Iterator<java.nio.file.Path> iterator()

Specified by:
  `iterator` in interface `java.lang.Iterable<java.nio.file.Path>`
Specified by:
  `iterator` in interface `java.nio.file.Path`

#### compareTo

    public int compareTo(java.nio.file.Path other)

Specified by:
  `compareTo` in interface `java.lang.Comparable<java.nio.file.Path>`
Specified by:
  `compareTo` in interface `java.nio.file.Path`

#### equals

    public boolean equals(java.lang.Object other)

Specified by:
  `equals` in interface `java.nio.file.Path`
Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in interface `java.nio.file.Path`
Overrides:
  `hashCode` in class `java.lang.Object`

#### toString

    public java.lang.String toString()

Specified by:
  `toString` in interface `java.nio.file.Path`
Overrides:
  `toString` in class `java.lang.Object`