Package net.rubygrapefruit.platform

# Interface PosixFiles

All Superinterfaces:
  `Files`, `NativeIntegration`

All Known Implementing Classes:
  `DefaultPosixFiles`

public interface PosixFiles extends Files
Functions to query and modify files on a Posix file system.

## Method Summary

Modifier and Type
Method
Description
`int`
`getMode(File path)`
Gets the mode for the given file.
`String`
`readLink(File link)`
Reads the contents of a symbolic link.
`void`
`setMode(File path, int perms)`
Sets the mode for the given file.
`PosixFileInfo`
`stat(File path)`
Returns basic information about the given file.
`PosixFileInfo`
`stat(File file, boolean linkTarget)`
Returns basic information about the given file.
`void`
`symlink(File link, String contents)`
Creates a symbolic link with given contents.

### Methods inherited from interface net.rubygrapefruit.platform.Files

`listDir, listDir`

## Method Details

### setMode

void setMode(File path, int perms) throws NativeException
Sets the mode for the given file.

Throws:
  `NativeException` - On failure.

### getMode

int getMode(File path) throws NativeException
Gets the mode for the given file.

Throws:
  `NativeException` - On failure.

### symlink

void symlink(File link, String contents) throws NativeException
Creates a symbolic link with given contents.

Throws:
  `NativeException` - On failure.

### readLink

String readLink(File link) throws NativeException
Reads the contents of a symbolic link.

Throws:
  `NativeException` - On failure.

### stat

PosixFileInfo stat(File path) throws NativeException
Returns basic information about the given file. Returns whatever file details can be efficiently calculated in a single system call, which is more efficient that querying these details separately.

When the file references a symlink, details about the symlink is returned, not the target of the symlink.

Specified by:
  `stat` in interface `Files`
Parameters:
  `path` - The path of the file to get details of. Follows symlinks to the parent directory of this file.
Returns:
  Details of the file. Returns details with type `FileInfo.Type.Missing` for a file that does not exist.
Throws:
  `NativeException` - On failure to query the file information.

### stat

PosixFileInfo stat(File file, boolean linkTarget) throws NativeException
Returns basic information about the given file. Returns whatever file details can be efficiently calculated in a single system call, which is more efficient that querying these details separately.

Specified by:
  `stat` in interface `Files`
Parameters:
  `file` - The path of the file to get details of. Follows symlinks to the parent directory of this file.
  `linkTarget` - When true and the file is a symlink, return details of the target of the symlink instead of details of the symlink itself.
Returns:
  Details of the file. Returns details with type `FileInfo.Type.Missing` for a file that does not exist.
Throws:
  `NativeException` - On failure to query the file information.