Package de.intarsys.tools.locator
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 ofILocator.
-
-
Constructor Summary
Constructors Constructor Description FileLocator(java.io.File file)FileLocator(java.lang.String path)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddelete()Delete the artifact referenced by this.booleanequals(java.lang.Object obj)booleanexists()Answertrueif the location designated by this exists.java.io.FilegetCanonicalFile()The canonical file represented by this.ILocatorgetChild(java.lang.String name)The locator for the resourcenamewithin the context of this.protected java.lang.StringgetEncoding()The encoding of the file.java.io.FilegetFile()Answer the file represented by this.java.lang.StringgetFullName()The full physical name of this.java.io.InputStreamgetInputStream()Return anInputStreamon the data represented by the receiver.protected longgetLastModified()Answer the timestamp of the last modification.longgetLength()Returns the length of this data container or -1 if unknownjava.lang.StringgetLocalName()The local name of the receiver within its parent.ILockgetLock()java.io.OutputStreamgetOutputStream()Return anOutputStreamon the location represented by the receiver.ILocatorgetParent()TheILocatorthat is one hierarchy level up or null.IRandomAccessgetRandomAccess()TheIRandomAccessfor this.java.io.ReadergetReader()AReaderon the data represented by the receiver.java.io.ReadergetReader(java.lang.String newEncoding)AReaderon the data represented by the receiver for the given encoding.java.lang.StringgetType()The type of the resource.java.lang.StringgetTypedName()The qualified local name of the receiver within its parent that includes the type specification for the destination if appropriate.java.io.WritergetWriter()AWriteron the location represented by the receiver.java.io.WritergetWriter(java.lang.String newEncoding)AWriteron the location represented by the receiver for the given encoding.inthashCode()booleanisDirectory()Answertrueif the location designated by this is a directory.booleanisOutOfSynch()trueif the component is out of synch.booleanisReadOnly()trueif the specified resource is read only.booleanisSynchSynchronous()booleanisUseTempFile()trueif temp file should be used.ILocator[]listLocators(ILocatorNameFilter filter)Return an array ofILocatorthat are children of the receiver that conform tofilter.voidrename(java.lang.String newName)Rename the complete physical name tonewName.protected voidsetEncoding(java.lang.String encoding)voidsetSynchSynchronous(boolean synchSynchronous)voidsetUseTempFile(boolean useTempFile)voidsynch()Perform a synchronization with the components physical resources.java.lang.StringtoString()java.net.URLtoURL()The location designated by this as anURL.-
Methods inherited from class de.intarsys.tools.locator.CommonLocator
createTempFileLocator, setReadOnly
-
-
-
-
Method Detail
-
delete
public void delete() throws java.io.IOExceptionDescription copied from interface:ILocatorDelete the artifact referenced by this.- Specified by:
deletein interfaceILocator- Overrides:
deletein classCommonLocator- Throws:
java.io.IOException
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
exists
public boolean exists()
Description copied from interface:ILocatorAnswertrueif the location designated by this exists.
-
getCanonicalFile
public java.io.File getCanonicalFile()
The canonical file represented by this.- Returns:
- The canonical file represented by this.
-
getChild
public ILocator getChild(java.lang.String name)
Description copied from interface:ILocatorThe locator for the resourcenamewithin the context of this. This may for example be anILocatorto a file within a directory.
-
getEncoding
protected java.lang.String getEncoding()
The encoding of the file.- Returns:
- Returns the encoding.
-
getFile
public java.io.File getFile()
Answer the file represented by this.- Returns:
- The canonical file represented by this.
-
getFullName
public java.lang.String getFullName()
Description copied from interface:ILocatorThe 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:
getFullNamein interfaceILocator- Returns:
- The full physical name of the receiver.
-
getInputStream
public java.io.InputStream getInputStream() throws java.io.IOExceptionDescription copied from interface:ILocatorReturn anInputStreamon the data represented by the receiver.- Specified by:
getInputStreamin interfaceILocator- Returns:
- An
InputStreamon the data represented by the receiver. - Throws:
java.io.IOException
-
getLastModified
protected long getLastModified()
Answer the timestamp of the last modification.- Returns:
- the timestamp of the last modification.
-
getLength
public long getLength() throws java.io.IOExceptionDescription copied from interface:ILocatorReturns the length of this data container or -1 if unknown- Specified by:
getLengthin interfaceILocator- Overrides:
getLengthin classCommonLocator- Returns:
- the length of this data container, measured in bytes.
- Throws:
java.io.IOException- if an I/O error occurs.
-
getLocalName
public java.lang.String getLocalName()
Description copied from interface:ILocatorThe local name of the receiver within its parent.- Specified by:
getLocalNamein interfaceILocator- Returns:
- The local name of the receiver within its parent.
-
getLock
public ILock getLock()
- Specified by:
getLockin interfaceILockSupport
-
getOutputStream
public java.io.OutputStream getOutputStream() throws java.io.IOExceptionDescription copied from interface:ILocatorReturn anOutputStreamon the location represented by the receiver.- Specified by:
getOutputStreamin interfaceILocator- Returns:
- An
OutputStreamon the location represented by the receiver. - Throws:
java.io.IOException
-
getParent
public ILocator getParent()
Description copied from interface:ILocatorTheILocatorthat is one hierarchy level up or null. This may be for example the directory where the currently designated resource is found.
-
getRandomAccess
public IRandomAccess getRandomAccess() throws java.io.IOException
Description copied from interface:ILocatorTheIRandomAccessfor this.- Specified by:
getRandomAccessin interfaceILocator- Returns:
- The
IRandomAccessfor this. - Throws:
java.io.IOException
-
getReader
public java.io.Reader getReader() throws java.io.IOExceptionDescription copied from interface:ILocatorAReaderon the data represented by the receiver.
-
getReader
public java.io.Reader getReader(java.lang.String newEncoding) throws java.io.IOExceptionDescription copied from interface:ILocatorAReaderon the data represented by the receiver for the given encoding.
-
getType
public java.lang.String getType()
Description copied from interface:ILocatorThe type of the resource. This may be for example a mime type or the file extension of the underlying file.
-
getTypedName
public java.lang.String getTypedName()
Description copied from interface:ILocatorThe 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:
getTypedNamein interfaceILocator- Returns:
- The qualified local name of the receiver within its parent that includes the type specification for the destination if appropriate.
-
getWriter
public java.io.Writer getWriter() throws java.io.IOExceptionDescription copied from interface:ILocatorAWriteron the location represented by the receiver.
-
getWriter
public java.io.Writer getWriter(java.lang.String newEncoding) throws java.io.IOExceptionDescription copied from interface:ILocatorAWriteron the location represented by the receiver for the given encoding.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
isDirectory
public boolean isDirectory()
Description copied from interface:ILocatorAnswertrueif the location designated by this is a directory. A directory location serves as a container for other resources, you can nevergetInputStreamon this.- Specified by:
isDirectoryin interfaceILocator- Returns:
- Answer
trueif the location designated by this is a directory.
-
isOutOfSynch
public boolean isOutOfSynch()
Description copied from interface:ISynchronizabletrueif the component is out of synch.- Specified by:
isOutOfSynchin interfaceISynchronizable- Returns:
trueif the component is out of synch.
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:ILocatortrueif the specified resource is read only.- Specified by:
isReadOnlyin interfaceILocator- Overrides:
isReadOnlyin classCommonLocator- Returns:
trueif the specified resource is read only.
-
isSynchSynchronous
public boolean isSynchSynchronous()
-
isUseTempFile
public boolean isUseTempFile()
trueif temp file should be used.- Returns:
trueif temp file should be used.
-
listLocators
public ILocator[] listLocators(ILocatorNameFilter filter) throws java.io.IOException
Description copied from interface:ILocatorReturn an array ofILocatorthat are children of the receiver that conform tofilter. This method never returns null.- Specified by:
listLocatorsin interfaceILocator- Parameters:
filter- The filter used to examine the child resources.- Returns:
- An array of
ILocatorobjects that conform to the filter argument. - Throws:
java.io.IOException
-
rename
public void rename(java.lang.String newName) throws java.io.IOExceptionDescription copied from interface:ILocatorRename the complete physical name tonewName.- Specified by:
renamein interfaceILocator- Overrides:
renamein classCommonLocator- Parameters:
newName- The new name of theILocator. The new name is expected to contain both local and type part of the name.- Throws:
java.io.IOException
-
setEncoding
protected void setEncoding(java.lang.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:ISynchronizablePerform a synchronization with the components physical resources.In case of a scheduled synchronization this may be called by an external daemon.
- Specified by:
synchin interfaceISynchronizable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-