Package de.intarsys.tools.locator
Class ClassLoaderResourceLocator
- java.lang.Object
-
- de.intarsys.tools.locator.CommonLocator
-
- de.intarsys.tools.locator.ClassLoaderResourceLocator
-
- All Implemented Interfaces:
ISynchronizable,ILocator
public class ClassLoaderResourceLocator extends CommonLocator
AnILocatorfor java resources identified directly by a class loader.
-
-
Constructor Summary
Constructors Constructor Description ClassLoaderResourceLocator(java.lang.ClassLoader classLoader, java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)booleanexists()Answertrueif the location designated by this exists.ILocatorgetChild(java.lang.String childName)The locator for the resourcenamewithin the context of this.java.lang.ClassLoadergetClassLoader()TheClassLoaderused to access the resource.protected java.lang.StringgetEncoding()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.lang.StringgetName()The resource name defined when constructing this.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 pEncoding)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()ILocator[]listLocators(ILocatorNameFilter filter)Return an array ofILocatorthat are children of the receiver that conform tofilter.protected voidsetEncoding(java.lang.String encoding)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, delete, getLength, rename, setReadOnly
-
-
-
-
Method Detail
-
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.- Returns:
- Answer
trueif the location designated by this exists.
-
getChild
public ILocator getChild(java.lang.String childName)
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:
childName- The name of the resource to be located.- Returns:
- The
ILocatorfor the resource with the name "name" within the context of this.
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
TheClassLoaderused to access the resource.- Returns:
- The
ClassLoaderused to access the resource.
-
getEncoding
protected java.lang.String getEncoding()
-
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.
-
getName
public java.lang.String getName()
The resource name defined when constructing this.- Returns:
- The resource name defined when constructing this.
-
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 newEncoding) throws java.io.IOExceptionDescription copied from interface:ILocatorAReaderon the data represented by the receiver for the given encoding.- Parameters:
newEncoding- 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 pEncoding) throws java.io.IOExceptionDescription copied from interface:ILocatorAWriteron the location represented by the receiver for the given encoding.- Parameters:
pEncoding- The encoding.- Returns:
- A
Writeron the location represented by the receiver for the given encoding. - Throws:
java.io.IOException
-
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.- 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) 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.- 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
-
setEncoding
protected void setEncoding(java.lang.String encoding)
-
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.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
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.
-
-