org.fife.ui.rsyntaxtextarea

## Class FileLocation

- java.lang.Object
- - org.fife.ui.rsyntaxtextarea.FileLocation

    public abstract class FileLocation
    extends Object

Holds the location of a local or remote file. This provides a common way to read, write, and check properties of both local and remote files.

Version:
  1.0
Author:
  Robert Futrell

### Constructor Summary

Constructors
Constructor and Description
`FileLocation()`

### Method Summary

Methods
`static FileLocation` `create(File file)` Creates a `FileLocation` instance for the specified local file.
`static FileLocation` `create(String fileFullPath)` Creates a `FileLocation` instance for the specified local file.
`static FileLocation` `create(URL url)` Creates a `FileLocation` instance for the specified file.
`protected abstract long` `getActualLastModified()` Returns the last time this file was modified, or `TextEditorPane.LAST_MODIFIED_UNKNOWN` if this value cannot be computed (such as for a remote file).
`abstract String` `getFileFullPath()` Returns the full path to the file.
`abstract String` `getFileName()` Returns the name of the file.
`protected abstract InputStream` `getInputStream()` Opens an input stream for reading from this file.
`protected abstract OutputStream` `getOutputStream()` Opens an output stream for writing this file.
`abstract boolean` `isLocal()` Returns whether this file location is a local file.
`abstract boolean` `isLocalAndExists()` Returns whether this file location is a local file that already exists.
`boolean` `isRemote()` Returns whether this file location is a remote location.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### FileLocation

    public FileLocation()

### Method Detail

#### create

    public static FileLocation create(String fileFullPath)

Creates a `FileLocation` instance for the specified local file.

Parameters:
  `fileFullPath` - The full path to a local file.
Returns:
  The file's location.

#### create

    public static FileLocation create(File file)

Creates a `FileLocation` instance for the specified local file.

Parameters:
  `file` - A local file.
Returns:
  The file's location.

#### create

    public static FileLocation create(URL url)

Creates a `FileLocation` instance for the specified file.

Parameters:
  `url` - The URL of a file.
Returns:
  The file's location.

#### getActualLastModified

    protected abstract long getActualLastModified()

Returns the last time this file was modified, or `TextEditorPane.LAST_MODIFIED_UNKNOWN` if this value cannot be computed (such as for a remote file).

Returns:
  The last time this file was modified.

#### getFileFullPath

    public abstract String getFileFullPath()

Returns the full path to the file. This will be stripped of sensitive information such as passwords for remote files.

Returns:
  The full path to the file.
See Also:
  `getFileName()`

#### getFileName

    public abstract String getFileName()

Returns the name of the file.

Returns:
  The name of the file.
See Also:
  `getFileFullPath()`

#### getInputStream

    protected abstract InputStream getInputStream()
                                           throws IOException

Opens an input stream for reading from this file.

Returns:
  The input stream.
Throws:
  `IOException` - If the file does not exist, or some other IO error occurs.

#### getOutputStream

    protected abstract OutputStream getOutputStream()
                                             throws IOException

Opens an output stream for writing this file.

Returns:
  An output stream.
Throws:
  `IOException` - If an IO error occurs.

#### isLocal

    public abstract boolean isLocal()

Returns whether this file location is a local file.

Returns:
  Whether this is a local file.
See Also:
  `isLocalAndExists()`

#### isLocalAndExists

    public abstract boolean isLocalAndExists()

Returns whether this file location is a local file that already exists.

Returns:
  Whether this file is local and actually exists.
See Also:
  `isLocal()`

#### isRemote

    public boolean isRemote()

Returns whether this file location is a remote location.

Returns:
  Whether this is a remote file location.