org.apache.commons.configuration2.io

## Class FileLocator

- java.lang.Object
- - org.apache.commons.configuration2.io.FileLocator

-     public final class FileLocator
      extends Object

  A class describing the location of a file.

  An instance of this class provides information for locating and accessing a file. The file location can be defined

  - as a URL; this identifies a file in a unique way
  - as a combination of base path and file name; if this variant is used, there may be an additional location step required in order to identify the referenced file (for instance, the file name may be interpreted as the name of a resource to be loaded from class path).

  In addition, other properties are available which are also needed for loading or saving a file, like the underlying `FileSystem`. The encoding to be used when accessing the represented data is also part of the data contained in an instance; if no encoding is set explicitly, the platform's default encoding is used.

  Instances of this class are immutable and thus can be safely shared between arbitrary components. `FileHandler` also uses an instance to reference the associated file. Instances are created using a builder. `FileLocatorUtils` offers convenience methods for obtaining such a builder.

  Since:
    2.0
  Version:
    $Id: FileLocator.java 1679788 2015-05-16 17:47:55Z oheger $

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `FileLocator.FileLocatorBuilder` A typical builder implementation for creating `FileLocator` objects.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileLocator(FileLocator.FileLocatorBuilder builder)` Creates a new instance of `FileLocatorImpl` and initializes it from the given builder instance

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)` Compares this object with another one.
    `String` | `getBasePath()` Returns the base path stored in this locator or null if it is undefined.
    `String` | `getEncoding()` Returns the encoding stored in this locator or null if it is undefined.
    `String` | `getFileName()` Returns the file name stored in this locator or null if it is undefined.
    `FileSystem` | `getFileSystem()` Returns the `FileSystem` to be used for accessing the file referenced by this locator or null if it is undefined.
    `FileLocationStrategy` | `getLocationStrategy()` Returns the `FileLocationStrategy` to be used for locating the referenced file.
    `URL` | `getSourceURL()` Returns the URL pointing to the referenced source file or null if it is undefined.
    `int` | `hashCode()` Returns a hash code for this object.
    `String` | `toString()` Returns a string representation of this object.

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

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

- - ### Constructor Detail

    - #### FileLocator

          public FileLocator(FileLocator.FileLocatorBuilder builder)

      Creates a new instance of `FileLocatorImpl` and initializes it from the given builder instance
      Parameters:
        `builder` - the builder

  - ### Method Detail

    - #### getFileName

          public String getFileName()

      Returns the file name stored in this locator or null if it is undefined.
      Returns:
        the file name

    - #### getBasePath

          public String getBasePath()

      Returns the base path stored in this locator or null if it is undefined.
      Returns:
        the base path

    - #### getSourceURL

          public URL getSourceURL()

      Returns the URL pointing to the referenced source file or null if it is undefined.
      Returns:
        the source URL

    - #### getEncoding

          public String getEncoding()

      Returns the encoding stored in this locator or null if it is undefined.
      Returns:
        the encoding

    - #### getFileSystem

          public FileSystem getFileSystem()

      Returns the `FileSystem` to be used for accessing the file referenced by this locator or null if it is undefined.
      Returns:
        the `FileSystem`

    - #### getLocationStrategy

          public FileLocationStrategy getLocationStrategy()

      Returns the `FileLocationStrategy` to be used for locating the referenced file. If no specific `FileLocationStrategy` has been set, result is null. This means that the default strategy should be used.
      Returns:
        the `FileLocationStrategy` to be used

    - #### hashCode

          public int hashCode()

      Returns a hash code for this object.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code for this object

    - #### equals

          public boolean equals(Object obj)

      Compares this object with another one. Two instances of `FileLocatorImpl` are considered equal if all of their properties are equal.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the object to compare to
      Returns:
        a flag whether these objects are equal

    - #### toString

          public String toString()

      Returns a string representation of this object. This string contains the values of all properties.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string for this object

Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.