de.intarsys.tools.locator
Class StringLocator

java.lang.Object
  extended by de.intarsys.tools.locator.CommonLocator
      extended by de.intarsys.tools.locator.StringLocator
All Implemented Interfaces:
ISynchronizable, ILocator

public class StringLocator
extends CommonLocator

A simple adapter from a String to ILocator.


Constructor Summary
StringLocator(java.lang.String content, java.lang.String name, java.lang.String type)
           
 
Method Summary
 void delete()
          Delete the artifact referenced by this.
 boolean exists()
          Answer true if the location designated by this exists.
protected  byte[] getBytes()
           
 ILocator getChild(java.lang.String child)
          The locator for the resource name within the context of this.
 java.lang.String getContent()
           
 java.lang.String getEncoding()
           
 java.lang.String getFullName()
          The full physical name of this.
 java.io.InputStream getInputStream()
          Return an InputStream on the data represented by the receiver.
 long getLength()
          Returns the length of this data container or -1 if unknown
 java.lang.String getLocalName()
          The local name of the receiver within its parent.
 java.io.OutputStream getOutputStream()
          Return an OutputStream on the location represented by the receiver.
 ILocator getParent()
          The ILocator that is one hierarchy level up or null.
 IRandomAccess getRandomAccess()
          The IRandomAccess for this.
 java.io.Reader getReader()
          A Reader on the data represented by the receiver.
 java.io.Reader getReader(java.lang.String encoding)
          A Reader on the data represented by the receiver for the given encoding.
 java.lang.String getType()
          The type of the resource.
 java.lang.String getTypedName()
          The qualified local name of the receiver within its parent that includes the type specification for the destination if appropriate.
 java.io.Writer getWriter()
          A Writer on the location represented by the receiver.
 java.io.Writer getWriter(java.lang.String encoding)
          A Writer on the location represented by the receiver for the given encoding.
 boolean isDirectory()
          Answer true if the location designated by this is a directory.
 boolean isOutOfSynch()
          true if the component is out of synch.
 boolean isReadOnly()
          true if the specified resource is read only.
 boolean isSynchSynchronous()
           
 ILocator[] listLocators(ILocatorNameFilter filter)
          Return an array of ILocator that are children of the receiver that conform to filter.
 void rename(java.lang.String newName)
          Rename the complete physical name to newName.
 void setEncoding(java.lang.String encoding)
           
 void synch()
          Perform a synchronization with the components physical resources.
 java.net.URL toURL()
          The location designated by this as an URL.
 
Methods inherited from class de.intarsys.tools.locator.CommonLocator
createTempFileLocator, setReadOnly
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringLocator

public StringLocator(java.lang.String content,
                     java.lang.String name,
                     java.lang.String type)
Method Detail

delete

public void delete()
            throws java.io.IOException
Description copied from interface: ILocator
Delete the artifact referenced by this.

Specified by:
delete in interface ILocator
Overrides:
delete in class CommonLocator
Throws:
java.io.IOException

exists

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

Returns:
Answer true if the location designated by this exists.

getBytes

protected byte[] getBytes()

getChild

public ILocator getChild(java.lang.String child)
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.

Parameters:
child - The name of the resource to be located.
Returns:
The ILocator for the resource with the name "name" within the context of this.

getContent

public java.lang.String getContent()

getEncoding

public java.lang.String getEncoding()

getFullName

public java.lang.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.

Returns:
The full physical name of the receiver.

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Description copied from interface: ILocator
Return an InputStream on the data represented by the receiver.

Returns:
An InputStream on the data represented by the receiver.
Throws:
java.io.IOException

getLength

public long getLength()
               throws java.io.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:
java.io.IOException - if an I/O error occurs.

getLocalName

public java.lang.String getLocalName()
Description copied from interface: ILocator
The 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.IOException
Description copied from interface: ILocator
Return an OutputStream on the location represented by the receiver.

Returns:
An OutputStream on the location represented by the receiver.
Throws:
java.io.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.

Returns:
The ILocatorthat is one hierarchy level up or null.

getRandomAccess

public IRandomAccess getRandomAccess()
                              throws java.io.IOException
Description copied from interface: ILocator
The IRandomAccess for this.

Returns:
The IRandomAccess for this.
Throws:
java.io.IOException

getReader

public java.io.Reader getReader()
                         throws java.io.IOException
Description copied from interface: ILocator
A Reader on the data represented by the receiver.

Returns:
A Reader on the data represented by the receiver.
Throws:
java.io.IOException

getReader

public java.io.Reader getReader(java.lang.String encoding)
                         throws java.io.IOException
Description copied from interface: ILocator
A Reader on the data represented by the receiver for the given encoding.

Parameters:
encoding - The encoding.
Returns:
A Reader on the data represented by the receiver for the given encoding.
Throws:
java.io.IOException

getType

public java.lang.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.

Returns:
The type of the resource

getTypedName

public java.lang.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".

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.IOException
Description copied from interface: ILocator
A Writer on the location represented by the receiver.

Returns:
A Writer on the location represented by the receiver.
Throws:
java.io.IOException

getWriter

public java.io.Writer getWriter(java.lang.String encoding)
                         throws java.io.IOException
Description copied from interface: ILocator
A Writer on the location represented by the receiver for the given encoding.

Parameters:
encoding - The encoding.
Returns:
A Writer on the location represented by the receiver for the given encoding.
Throws:
java.io.IOException

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.

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.

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()

listLocators

public ILocator[] listLocators(ILocatorNameFilter filter)
                        throws java.io.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.

Parameters:
filter - The filter used to examine the child resources.
Returns:
An array of ILocator objects that conform to the filter argument.
Throws:
java.io.IOException

rename

public void rename(java.lang.String newName)
            throws java.io.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:
java.io.IOException

setEncoding

public void setEncoding(java.lang.String encoding)

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.


toURL

public java.net.URL toURL()
Description copied from interface: ILocator
The location designated by this as an URL.

Returns:
The location designated by this as an URL.