## 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.