org.mortbay.util
Class CachedResource

java.lang.Object
  |
  +--org.mortbay.util.Resource
        |
        +--org.mortbay.util.CachedResource
All Implemented Interfaces:
java.io.Serializable

public class CachedResource
extends Resource

Cached resource class. This resource caches in memory the contents of another resource. The update() method must be called to check if the real resource has been modified.

Version:
$Id: CachedResource.java,v 1.5 2002/12/14 13:03:06 bretts Exp $
Author:
Greg Wilkins (gregw)
See Also:
Serialized Form

Method Summary
 Resource addPath(java.lang.String path)
          Returns the resource contained inside the current resource with the given name
 void clear()
           
 boolean delete()
          Deletes the given resource
 boolean equals(java.lang.Object o)
           
 boolean exists()
          Returns true if the respresened resource exists.
 byte[] getCachedData()
           
 java.io.File getFile()
          Returns an File representing the given resource or NULL if this is not possible.
 java.io.InputStream getInputStream()
          Returns an input stream to the resource
 java.lang.String getName()
          Returns the name of the resource
 java.io.OutputStream getOutputStream()
          Returns an output stream to the resource
 java.net.URL getURL()
          Returns an URL representing the given resource
 int hashCode()
           
 boolean isDirectory()
          Returns true if the respresenetd resource is a container/directory.
 boolean isUptoDate()
           
 long lastModified()
          Returns the last modified time
 long length()
          Return the length of the resource
 java.lang.String[] list()
          Returns a list of resource names contained in the given resource
 void release()
          Release any resources held by the resource.
 boolean renameTo(Resource dest)
          Rename the given resource
 void setCachedData(byte[] buf)
           
 java.lang.String toString()
           
 boolean update()
           
 void writeTo(java.io.OutputStream os, long startByte, long count)
           
 
Methods inherited from class org.mortbay.util.Resource
cache, encode, getAlias, getAssociate, getListHTML, newResource, newResource, newSystemResource, setAssociate
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

isUptoDate

public boolean isUptoDate()
                   throws java.io.IOException
java.io.IOException

update

public boolean update()
               throws java.io.IOException
java.io.IOException

clear

public void clear()

release

public void release()
Release any resources held by the resource.

Specified by:
release in class Resource

exists

public boolean exists()
Returns true if the respresened resource exists.

Specified by:
exists in class Resource

isDirectory

public boolean isDirectory()
Description copied from class: Resource
Returns true if the respresenetd resource is a container/directory. If the resource is not a file, resources ending with "/" are considered directories.

Specified by:
isDirectory in class Resource

lastModified

public long lastModified()
Description copied from class: Resource
Returns the last modified time

Specified by:
lastModified in class Resource

length

public long length()
Description copied from class: Resource
Return the length of the resource

Specified by:
length in class Resource

getURL

public java.net.URL getURL()
Description copied from class: Resource
Returns an URL representing the given resource

Specified by:
getURL in class Resource

getFile

public java.io.File getFile()
                     throws java.io.IOException
Description copied from class: Resource
Returns an File representing the given resource or NULL if this is not possible.

Specified by:
getFile in class Resource
java.io.IOException

getName

public java.lang.String getName()
Returns the name of the resource

Specified by:
getName in class Resource

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Returns an input stream to the resource

Specified by:
getInputStream in class Resource
java.io.IOException

getOutputStream

public java.io.OutputStream getOutputStream()
                                     throws java.io.IOException,
                                            java.lang.SecurityException
Returns an output stream to the resource

Specified by:
getOutputStream in class Resource
java.io.IOException
java.lang.SecurityException

delete

public boolean delete()
               throws java.lang.SecurityException
Deletes the given resource

Specified by:
delete in class Resource
java.lang.SecurityException

renameTo

public boolean renameTo(Resource dest)
                 throws java.lang.SecurityException
Rename the given resource

Specified by:
renameTo in class Resource
java.lang.SecurityException

list

public java.lang.String[] list()
Returns a list of resource names contained in the given resource

Specified by:
list in class Resource

addPath

public Resource addPath(java.lang.String path)
                 throws java.io.IOException,
                        java.net.MalformedURLException
Returns the resource contained inside the current resource with the given name

Specified by:
addPath in class Resource
Parameters:
path - The path segment to add, which should be encoded by the encode method.
java.io.IOException
java.net.MalformedURLException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

hashCode

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

equals

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

writeTo

public void writeTo(java.io.OutputStream os,
                    long startByte,
                    long count)
             throws java.io.IOException
Overrides:
writeTo in class Resource
Parameters:
os -
startByte - First byte to write
count - Bytes to write or -1 for all of them.
java.io.IOException

getCachedData

public byte[] getCachedData()

setCachedData

public void setCachedData(byte[] buf)


Copyright ? 2000 Mortbay Consulting Pty. Ltd. All Rights Reserved.