de.intarsys.tools.locator
Class LocatorByReference

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

public class LocatorByReference
extends java.lang.Object
implements ILocator, IAdapterSupport

This ILocator serves as an adapter for an ILocatorSupport instance.


Constructor Summary
LocatorByReference(ILocatorSupport locatorSupport)
           
 
Method Summary
 void delete()
          Delete the artifact referenced by this.
 boolean exists()
          Answer true if the location designated by this exists.
<T> T
getAdapter(java.lang.Class<T> clazz)
          Return an object of type clazz that represents the receiver.
 ILocator getChild(java.lang.String name)
          The locator for the resource name within the context of this.
 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.
protected  ILocator getLocator()
           
 ILocatorSupport getLocatorSupport()
           
 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.
 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 setReadOnly()
          Make the receiver read only.
 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LocatorByReference

public LocatorByReference(ILocatorSupport locatorSupport)
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
Throws:
java.io.IOException

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.

getAdapter

public <T> T getAdapter(java.lang.Class<T> clazz)
Description copied from interface: IAdapterSupport
Return an object of type clazz that represents the receiver.

This method should return null if adaption is not possible.

Specified by:
getAdapter in interface IAdapterSupport
Returns:
Return an object of type clazz that represents the receiver.

getChild

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

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.

Specified by:
getFullName in interface ILocator
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.

Specified by:
getInputStream in interface ILocator
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
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.

Specified by:
getLocalName in interface ILocator
Returns:
The local name of the receiver within its parent.

getLocator

protected ILocator getLocator()

getLocatorSupport

public ILocatorSupport getLocatorSupport()

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.

Specified by:
getOutputStream in interface ILocator
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.

Specified by:
getParent in interface ILocator
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.

Specified by:
getRandomAccess in interface ILocator
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.

Specified by:
getReader in interface ILocator
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.

Specified by:
getReader in interface ILocator
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.

Specified by:
getType in interface ILocator
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".

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 java.io.Writer getWriter()
                         throws java.io.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:
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.

Specified by:
getWriter in interface ILocator
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.

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
Returns:
true if the specified resource is read only.

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.

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:
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
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

setReadOnly

public void setReadOnly()
Description copied from interface: ILocator
Make the receiver read only. This is a one way switch only.

Specified by:
setReadOnly in interface ILocator

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

toURL

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