de.intarsys.tools.locator
Class TransientLocator

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

public class TransientLocator
extends CommonLocator

A "non persistent" locator. This is used as a placeholder where an ILocator is necessary but no real location is yet defined.


Constructor Summary
TransientLocator(java.lang.String name, java.lang.String type)
           
 
Method Summary
 void delete()
          Delete the artifact referenced by this.
 boolean equals(java.lang.Object obj)
           
 boolean exists()
          Answer true if the location designated by this exists.
 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.
 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.
 int hashCode()
           
 boolean isAlwaysUnchanged()
           
 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 setAlwaysUnchanged(boolean paramAlwaysUnchanged)
           
 void setLocalName(java.lang.String name)
           
 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, getLength, setReadOnly
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransientLocator

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

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

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.

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.

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.

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

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

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

isAlwaysUnchanged

public boolean isAlwaysUnchanged()

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

setAlwaysUnchanged

public void setAlwaysUnchanged(boolean paramAlwaysUnchanged)

setLocalName

public void setLocalName(java.lang.String name)

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.

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