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.

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

## Constructor Summary

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

## Method Summary

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 Details

### WritablePath

public WritablePath(Path delegate)

### WritablePath

public WritablePath(Path delegate, String encoding)

## Method Details

### 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`