Class FileLocator


  • public final class FileLocator
    extends java.lang.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
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  FileLocator.FileLocatorBuilder
      A typical builder implementation for creating FileLocator objects.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Compares this object with another one.
      java.lang.String getBasePath()
      Returns the base path stored in this locator or null if it is undefined.
      java.lang.String getEncoding()
      Returns the encoding stored in this locator or null if it is undefined.
      java.lang.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.
      java.net.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.
      java.lang.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 java.lang.String getFileName()
        Returns the file name stored in this locator or null if it is undefined.
        Returns:
        the file name
      • getBasePath

        public java.lang.String getBasePath()
        Returns the base path stored in this locator or null if it is undefined.
        Returns:
        the base path
      • getSourceURL

        public java.net.URL getSourceURL()
        Returns the URL pointing to the referenced source file or null if it is undefined.
        Returns:
        the source URL
      • getEncoding

        public java.lang.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 java.lang.Object
        Returns:
        a hash code for this object
      • equals

        public boolean equals​(java.lang.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 java.lang.Object
        Parameters:
        obj - the object to compare to
        Returns:
        a flag whether these objects are equal
      • toString

        public java.lang.String toString()
        Returns a string representation of this object. This string contains the values of all properties.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string for this object