Class FileLocator

java.lang.Object
de.intarsys.tools.locator.CommonLocator
de.intarsys.tools.locator.FileLocator
All Implemented Interfaces:
ISynchronizable, ILocator, ILockSupport

public class FileLocator extends CommonLocator implements ILockSupport
File based implementation of ILocator.
  • Constructor Details

    • FileLocator

      public FileLocator(File file)
    • FileLocator

      public FileLocator(String path)
  • Method Details

    • delete

      public void delete() throws IOException
      Description copied from interface: ILocator
      Delete the artifact referenced by this.
      Specified by:
      delete in interface ILocator
      Overrides:
      delete in class CommonLocator
      Throws:
      IOException
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • exists

      public boolean exists()
      Description copied from interface: ILocator
      Answer true if the location designated by this exists.
      Specified by:
      exists in interface ILocator
      Returns:
      Answer true if the location designated by this exists.
    • getCanonicalFile

      public File getCanonicalFile()
      The canonical file represented by this.
      Returns:
      The canonical file represented by this.
    • getChild

      public ILocator getChild(String name)
      Description copied from interface: ILocator
      The locator for the resource name within the context of this. This may for example be an ILocator to a file within a directory.
      Specified by:
      getChild in interface ILocator
      Parameters:
      name - The name of the resource to be located.
      Returns:
      The ILocator for the resource with the name "name" within the context of this.
    • getEncoding

      protected String getEncoding()
      The encoding of the file.
      Returns:
      Returns the encoding.
    • getFile

      public File getFile()
      Answer the file represented by this.
      Returns:
      The canonical file represented by this.
    • getFullName

      public String getFullName()
      Description copied from interface: ILocator
      The full physical name of this.

      This method returns a representation that is proprietary to the underlying physical representation, for example a file name, a SQL statement or so on.

      Specified by:
      getFullName in interface ILocator
      Returns:
      The full physical name of the receiver.
    • getInputStream

      public InputStream getInputStream() throws IOException
      Description copied from interface: ILocator
      Return an InputStream on the data represented by the receiver.
      Specified by:
      getInputStream in interface ILocator
      Returns:
      An InputStream on the data represented by the receiver.
      Throws:
      IOException
    • getLastModified

      protected long getLastModified()
      Answer the timestamp of the last modification.
      Returns:
      the timestamp of the last modification.
    • getLength

      public long getLength() throws IOException
      Description copied from interface: ILocator
      Returns the length of this data container or -1 if unknown
      Specified by:
      getLength in interface ILocator
      Overrides:
      getLength in class CommonLocator
      Returns:
      the length of this data container, measured in bytes.
      Throws:
      IOException - if an I/O error occurs.
    • getLocalName

      public String getLocalName()
      Description copied from interface: ILocator
      The local name of the receiver within its parent.
      Specified by:
      getLocalName in interface ILocator
      Returns:
      The local name of the receiver within its parent.
    • getLock

      public ILock getLock()
      Specified by:
      getLock in interface ILockSupport
    • getOutputStream

      public OutputStream getOutputStream() throws IOException
      Description copied from interface: ILocator
      Return an OutputStream on the location represented by the receiver.
      Specified by:
      getOutputStream in interface ILocator
      Returns:
      An OutputStream on the location represented by the receiver.
      Throws:
      IOException
    • getParent

      public ILocator getParent()
      Description copied from interface: ILocator
      The ILocator that is one hierarchy level up or null. This may be for example the directory where the currently designated resource is found.
      Specified by:
      getParent in interface ILocator
      Returns:
      The ILocatorthat is one hierarchy level up or null.
    • getRandomAccess

      public IRandomAccess getRandomAccess() throws IOException
      Description copied from interface: ILocator
      The IRandomAccess for this.
      Specified by:
      getRandomAccess in interface ILocator
      Returns:
      The IRandomAccess for this.
      Throws:
      IOException
    • getReader

      public Reader getReader() throws IOException
      Description copied from interface: ILocator
      A Reader on the data represented by the receiver.
      Specified by:
      getReader in interface ILocator
      Returns:
      A Reader on the data represented by the receiver.
      Throws:
      IOException
    • getReader

      public Reader getReader(String newEncoding) throws IOException
      Description copied from interface: ILocator
      A Reader on the data represented by the receiver for the given encoding.
      Specified by:
      getReader in interface ILocator
      Parameters:
      newEncoding - The encoding.
      Returns:
      A Reader on the data represented by the receiver for the given encoding.
      Throws:
      IOException
    • getType

      public String getType()
      Description copied from interface: ILocator
      The type of the resource. This may be for example a mime type or the file extension of the underlying file.
      Specified by:
      getType in interface ILocator
      Returns:
      The type of the resource
    • getTypedName

      public String getTypedName()
      Description copied from interface: ILocator
      The qualified local name of the receiver within its parent that includes the type specification for the destination if appropriate. This is for example a filename with its correct suffix. Some locator may return the same name as "getLocalName".
      Specified by:
      getTypedName in interface ILocator
      Returns:
      The qualified local name of the receiver within its parent that includes the type specification for the destination if appropriate.
    • getWriter

      public Writer getWriter() throws IOException
      Description copied from interface: ILocator
      A Writer on the location represented by the receiver.
      Specified by:
      getWriter in interface ILocator
      Returns:
      A Writer on the location represented by the receiver.
      Throws:
      IOException
    • getWriter

      public Writer getWriter(String newEncoding) throws IOException
      Description copied from interface: ILocator
      A Writer on the location represented by the receiver for the given encoding.
      Specified by:
      getWriter in interface ILocator
      Parameters:
      newEncoding - The encoding.
      Returns:
      A Writer on the location represented by the receiver for the given encoding.
      Throws:
      IOException
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isDirectory

      public boolean isDirectory()
      Description copied from interface: ILocator
      Answer true if the location designated by this is a directory. A directory location serves as a container for other resources, you can never getInputStream on this.
      Specified by:
      isDirectory in interface ILocator
      Returns:
      Answer true if the location designated by this is a directory.
    • isOutOfSynch

      public boolean isOutOfSynch()
      Description copied from interface: ISynchronizable
      true if the component is out of synch.
      Specified by:
      isOutOfSynch in interface ISynchronizable
      Returns:
      true if the component is out of synch.
    • isReadOnly

      public boolean isReadOnly()
      Description copied from interface: ILocator
      true if the specified resource is read only.
      Specified by:
      isReadOnly in interface ILocator
      Overrides:
      isReadOnly in class CommonLocator
      Returns:
      true if the specified resource is read only.
    • isSynchSynchronous

      public boolean isSynchSynchronous()
    • isUseTempFile

      public boolean isUseTempFile()
      true if temp file should be used.
      Returns:
      true if temp file should be used.
    • listLocators

      public ILocator[] listLocators(ILocatorNameFilter filter) throws IOException
      Description copied from interface: ILocator
      Return an array of ILocator that are children of the receiver that conform to filter. This method never returns null.
      Specified by:
      listLocators in interface ILocator
      Parameters:
      filter - The filter used to examine the child resources.
      Returns:
      An array of ILocator objects that conform to the filter argument.
      Throws:
      IOException
    • rename

      public void rename(String newName) throws IOException
      Description copied from interface: ILocator
      Rename the complete physical name to newName.
      Specified by:
      rename in interface ILocator
      Overrides:
      rename in class CommonLocator
      Parameters:
      newName - The new name of the ILocator. The new name is expected to contain both local and type part of the name.
      Throws:
      IOException
    • setEncoding

      protected void setEncoding(String encoding)
    • setSynchSynchronous

      public void setSynchSynchronous(boolean synchSynchronous)
      Parameters:
      synchSynchronous -
    • setUseTempFile

      public void setUseTempFile(boolean useTempFile)
      Parameters:
      useTempFile -
    • synch

      public void synch()
      Description copied from interface: ISynchronizable
      Perform a synchronization with the components physical resources.

      In case of a scheduled synchronization this may be called by an external daemon.

      Specified by:
      synch in interface ISynchronizable
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toURL

      public URL toURL()
      Description copied from interface: ILocator
      The location designated by this as an URL.
      Specified by:
      toURL in interface ILocator
      Returns:
      The location designated by this as an URL.