Package de.intarsys.tools.locator
Class StreamLocator
- java.lang.Object
-
- de.intarsys.tools.locator.CommonLocator
-
- de.intarsys.tools.locator.StreamLocator
-
- All Implemented Interfaces:
ISynchronizable,ILocator
public class StreamLocator extends CommonLocator
A simple adapter fromInputStreamtoILocator.This one has different behavior as you can only request input or output stream ONCE. No backing copy of the input / output stream is made by the locator.
-
-
Constructor Summary
Constructors Constructor Description StreamLocator(java.io.InputStream is, java.io.OutputStream os, java.lang.String name, java.lang.String type)StreamLocator(java.io.InputStream stream, java.lang.String name, java.lang.String type)StreamLocator(java.io.OutputStream stream, java.lang.String name, java.lang.String type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddelete()Delete the artifact referenced by this.booleanexists()Answertrueif the location designated by this exists.ILocatorgetChild(java.lang.String child)The locator for the resourcenamewithin the context of this.java.lang.StringgetFullName()The full physical name of this.java.io.InputStreamgetInputStream()Return anInputStreamon the data represented by the receiver.java.lang.StringgetLocalName()The local name of the receiver within its parent.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 encoding)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 encoding)AWriteron the location represented by the receiver for the given encoding.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()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.voidsynch()Perform a synchronization with the components physical resources.java.net.URLtoURL()The location designated by this as anURL.-
Methods inherited from class de.intarsys.tools.locator.CommonLocator
createTempFileLocator, getLength, setReadOnly
-
-
-
-
Constructor Detail
-
StreamLocator
public StreamLocator(java.io.InputStream is, java.io.OutputStream os, java.lang.String name, java.lang.String type)
-
StreamLocator
public StreamLocator(java.io.InputStream stream, java.lang.String name, java.lang.String type)
-
StreamLocator
public StreamLocator(java.io.OutputStream stream, java.lang.String name, java.lang.String type)
-
-
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
-
exists
public boolean exists()
Description copied from interface:ILocatorAnswertrueif the location designated by this exists.- Returns:
- Answer
trueif the location designated by this exists.
-
getChild
public ILocator getChild(java.lang.String child)
Description copied from interface:ILocatorThe locator for the resourcenamewithin the context of this. This may for example be anILocatorto a file within a directory.- Parameters:
child- The name of the resource to be located.- Returns:
- The
ILocatorfor the resource with the name "name" within the context of 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.
- 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.- Returns:
- An
InputStreamon the data represented by the receiver. - Throws:
java.io.IOException
-
getLocalName
public java.lang.String getLocalName()
Description copied from interface:ILocatorThe local name of the receiver within its parent.- Returns:
- The local name of the receiver within its parent.
-
getOutputStream
public java.io.OutputStream getOutputStream() throws java.io.IOExceptionDescription copied from interface:ILocatorReturn anOutputStreamon the location represented by the receiver.- 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.- Returns:
- The
ILocatorthat is one hierarchy level up or null.
-
getRandomAccess
public IRandomAccess getRandomAccess() throws java.io.IOException
Description copied from interface:ILocatorTheIRandomAccessfor this.- 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.- Returns:
- A
Readeron the data represented by the receiver. - Throws:
java.io.IOException
-
getReader
public java.io.Reader getReader(java.lang.String encoding) throws java.io.IOExceptionDescription copied from interface:ILocatorAReaderon the data represented by the receiver for the given encoding.- Parameters:
encoding- The encoding.- Returns:
- A
Readeron the data represented by the receiver for the given encoding. - Throws:
java.io.IOException
-
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.- Returns:
- The type of the resource
-
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".- 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.- Returns:
- A
Writeron the location represented by the receiver. - Throws:
java.io.IOException
-
getWriter
public java.io.Writer getWriter(java.lang.String encoding) throws java.io.IOExceptionDescription copied from interface:ILocatorAWriteron the location represented by the receiver for the given encoding.- Parameters:
encoding- The encoding.- Returns:
- A
Writeron the location represented by the receiver for the given encoding. - Throws:
java.io.IOException
-
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.- 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.- 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()
-
listLocators
public ILocator[] listLocators(ILocatorNameFilter filter)
Description copied from interface:ILocatorReturn an array ofILocatorthat are children of the receiver that conform tofilter. This method never returns null.- Parameters:
filter- The filter used to examine the child resources.- Returns:
- An array of
ILocatorobjects that conform to the filter argument.
-
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
-
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.
-
toURL
public java.net.URL toURL()
Description copied from interface:ILocatorThe location designated by this as anURL.- Returns:
- The location designated by this as an
URL.
-
-