    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class w3c.jigsaw.resources.Resource

    java.lang.Object
       |
       +----w3c.jigsaw.resources.AttributeHolder
               |
               +----w3c.jigsaw.resources.Resource

public class Resource
extends AttributeHolder

The resource class describes an object, accessible through the server. Resource objects are required to have the following properties:

- They must be persistent (their life-time can span multiple httpd life-time).
- They must be editable, so that one can change some of their aspects (such as any associated attribute).
- They must be self-described: each resource must now what kind of attribute it understands.
- They must be able to update themselves: some of the meta-information associated with a resource may require lot of CPU to compute.
- They must implement some name-service policy.

These resource objects do not define how they are accessed. See the sub-classes for specific accesses. It might be the case that HTTP-NG allows any sub-class of resource to be accessible, although, right now HTTP-1.x only allows you to access HTTPResource instances.

##

ATTR_IDENTIFIER
  Attribute index - The index for the identifier attribute.
ATTR_RESOURCE_STORE
  Attribute index - The resource store associated with this resource.

##

Resource()
  Create an empty resource instance.

##

delete()
  Delete this Resource instance, and remove it from its store.
getHelpURL()
  Get this resource's help url.
getHelpURL(String)
  Get the help URL for that resource's topic.
getIdentifier()
  Get this resource identifier.
getResourceStore()
  Get the store associated with this resource.
lock(ResourceLocker)
  Lock this resource in its store.
markModified()
  Mark this resource as having been modified.
notifyUnload()
  This resource is being unloaded.
setValue(int, Object)
  We overide setValue, to mark the resource as modified.
unlock(ResourceLocker)
  Unlock the given resource.
updateAttributes()
  The web admin wants us to update any out of date attribute.

##

ATTR_IDENTIFIER

      protected static int ATTR_IDENTIFIER

  Attribute index - The index for the identifier attribute.

ATTR_RESOURCE_STORE

      protected static int ATTR_RESOURCE_STORE

  Attribute index - The resource store associated with this resource.

##

Resource

      public Resource()

  Create an empty resource instance. Initialize the instance attributes description, and its values.

##

getHelpURL

      public String getHelpURL()

  Get this resource's help url.
  Returns:
    An URL, encoded as a String, or null if not available.

getHelpURL

      public String getHelpURL(String topics)

  Get the help URL for that resource's topic.
  Parameters:
    topic - The topic you want help for.
  Returns:
    A String encoded URL, or null if none was found.

getIdentifier

      public String getIdentifier()

  Get this resource identifier.
  Returns:
    The String value for the identifier.

getResourceStore

      public ResourceStore getResourceStore()

  Get the store associated with this resource.
  Returns:
    The associated store or null. Not all resources have a store associated with them (eg the one that whose creation is cheap, etc).

markModified

      public void markModified()

  Mark this resource as having been modified.

setValue

      public void setValue(int idx,
                           Object value)

  We overide setValue, to mark the resource as modified.
  Parameters:
    idx - The index of the attribute to modify.
    value - The new attribute value.
  Overrides:
    setValue in class AttributeHolder

notifyUnload

      public void notifyUnload()

  This resource is being unloaded. The resource is being unloaded from memory, perform any additional cleanup required.

lock

      public boolean lock(ResourceLocker locker)

  Lock this resource in its store. Acquire a lock on this resource: if you do acquire the lock, than you are guaranteed that either the resource will be kept in memory, or you will be notified through a call to `notifyResourceLockBreak` that the resource is going down.
  Parameters:
    locker - The object willing to acquire the lock.
  Returns:
    A boolean true if locking succeeded, false otherwise.

unlock

      public void unlock(ResourceLocker locker)

  Unlock the given resource.
  Parameters:
    locker - The object that wishes to relinquish the lock.

updateAttributes

      public void updateAttributes()

  The web admin wants us to update any out of date attribute.

delete

      public synchronized void delete()

  Delete this Resource instance, and remove it from its store. This method will erase definitely this resource, for ever, by removing it from its resource store (when doable).

    All Packages  Class Hierarchy  This Package  Previous  Next  Index