    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class org.w3c.tools.resources.ContainerResource

    java.lang.Object
       |
       +----org.w3c.tools.resources.AttributeHolder
               |
               +----org.w3c.tools.resources.Resource
                       |
                       +----org.w3c.tools.resources.FramedResource
                               |
                               +----org.w3c.tools.resources.AbstractContainer
                                       |
                                       +----org.w3c.tools.resources.ContainerResource

public abstract class ContainerResource
extends AbstractContainer

This resource manage children resources.

##

acquired
ATTR_KEY
  Attribute index - The index of the resource key.

##

ContainerResource()

##

acquireChildren()
  Acquire our children.
addResource(Resource, Hashtable)
  Add an initialized resource into this store container instance.
delete()
  Delete that resource container.
delete(String)
  Remove a child resource from that container.
enumerateResourceIdentifiers(boolean)
  Enumerate children resource identifiers.
getChildrenSpaceEntry()
  Get the SpaceEntry of our children resources.
getClone(Object[])
  Clone this attribute holder, and init it with the given attributes.
getKey()
  Get the container Key.
getSpaceEntry()
  Get the space entry for that resource.
initialize(Object[])
  Initialize ourself.
lookup(LookupState, LookupResult)
  Lookup the next component of this lookup state in here.
lookup(String)
  Lookup a children in the container.
notifyUnload()
  This resource is being unloaded.
registerResource(String, Resource, Hashtable)
  Initialize and register the given resource within that container.
replace(DirectoryResource)
  Delete that container and its children if children is true
resourceCreated(StructureChangedEvent)
  A new resource has been created in some space.
resourceModified(StructureChangedEvent)
  This handles the `RESOURCE_MODIFIED` kind of events.
resourceRemoved(StructureChangedEvent)
  A resource is about to be removed This handles the `RESOURCE_REMOVED` kind of events.
updateDefaultChildAttributes(Hashtable)
  Update default child attributes.

##

ATTR_KEY

     protected static int ATTR_KEY

  Attribute index - The index of the resource key.

acquired

     protected boolean acquired

##

ContainerResource

     public ContainerResource()

##

getClone

     public Object getClone(Object values[])

  Clone this attribute holder, and init it with the given attributes.

  Overrides:
    getClone in class FramedResource

getKey

     public Integer getKey()

  Get the container Key. This key must be unique and unchanged during the container life.

  Returns:
    a String instance.

getSpaceEntry

     protected SpaceEntry getSpaceEntry()

  Get the space entry for that resource.

  Overrides:
    getSpaceEntry in class Resource

getChildrenSpaceEntry

     protected SpaceEntry getChildrenSpaceEntry()

  Get the SpaceEntry of our children resources.

  Returns:
    A SpaceEntry instance.

resourceModified

     public void resourceModified(StructureChangedEvent evt)

  This handles the `RESOURCE_MODIFIED` kind of events.

  Parameters:
    evt - The StructureChangeEvent.
  Overrides:
    resourceModified in class AbstractContainer

resourceCreated

     public void resourceCreated(StructureChangedEvent evt)

  A new resource has been created in some space. This handles the `RESOURCE_CREATED` kind of events.

  Parameters:
    evt - The event describing the change.
  Overrides:
    resourceCreated in class AbstractContainer

resourceRemoved

     public void resourceRemoved(StructureChangedEvent evt)

  A resource is about to be removed This handles the `RESOURCE_REMOVED` kind of events.

  Parameters:
    evt - The event describing the change.
  Overrides:
    resourceRemoved in class AbstractContainer

updateDefaultChildAttributes

     protected ResourceContext updateDefaultChildAttributes(Hashtable attrs)

  Update default child attributes. A parent can often pass default attribute values to its children, such as a pointer to itself (the parent attribute).

  This is the method to overide when you want your container to provide these kinds of attributes. By default this method will set the following attributes:

  name
    The name of the child (it's identifier) - String instance.
  parent
    The parent of the child (ie ourself here) - a ContainerResource instance.
  url
    If a identifier attribute is defined, that attribute is set to the full URL path of the children.

  Overrides:
    updateDefaultChildAttributes in class AbstractContainer

enumerateResourceIdentifiers

     public synchronized Enumeration enumerateResourceIdentifiers(boolean all)

  Enumerate children resource identifiers.

  Parameters:
    all - Should all resources be enumerated ? Resources are often created on demand only, this flag allows the caller to tell the container about wether it is interested only in already created resources, or in all resources (even the one that have not yet been created).
  Returns:
    An String enumeration, one element per child.
  Overrides:
    enumerateResourceIdentifiers in class AbstractContainer

lookup

     public ResourceReference lookup(String name)

  Lookup a children in the container.

  Parameters:
    name - The name of the children to lookup.
  Overrides:
    lookup in class AbstractContainer

lookup

     public boolean lookup(LookupState ls,
                           LookupResult lr) throws ProtocolException

  Lookup the next component of this lookup state in here.

  Parameters:
    ls - The current lookup state.
    lr - The lookup result under construction.
  Returns:
    A boolean, true if lookup has completed, false if it should be continued by the caller.
  Throws: ProtocolException
    If an error occurs.
  Overrides:
    lookup in class FramedResource

delete

     public void delete(String name) throws MultipleLockException

  Remove a child resource from that container.

  Parameters:
    name - The name of the child to remove.
  Throws: MultipleLockException
    If somone else has locked the resource.
  Overrides:
    delete in class AbstractContainer

replace

     public synchronized void replace(DirectoryResource newdir) throws MultipleLockException

  Delete that container and its children if children is true

  Throws: MultipleLockException
    If somone else has locked one of the resource child.

delete

     public synchronized void delete() throws MultipleLockException

  Delete that resource container.

  Throws: MultipleLockException
    If somone else has locked the resource.
  Overrides:
    delete in class FramedResource

notifyUnload

     public void notifyUnload()

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

  Overrides:
    notifyUnload in class Resource

acquireChildren

     protected synchronized void acquireChildren()

  Acquire our children. Must be called before all child manipulation.

addResource

     protected synchronized ResourceReference addResource(Resource resource,
                                                          Hashtable defs)

  Add an initialized resource into this store container instance.

  Parameters:
    resource - The resource to be added to the store.

registerResource

     public void registerResource(String name,
                                  Resource resource,
                                  Hashtable defs) throws InvalidResourceException

  Initialize and register the given resource within that container.

  Parameters:
    name - The identifier for the resource.
    resource - An unitialized resource instance.
    defs - A default set of init attribute values (may be null).
  Throws: InvalidResourceException
    If an error occurs during the registration.
  Overrides:
    registerResource in class AbstractContainer

initialize

     public void initialize(Object values[])

  Initialize ourself. As we are a container resource that really contains something, we make sure our URL ends properly with a slash.

  Parameters:
    values - Our default attribute values.
  Overrides:
    initialize in class FramedResource

    All Packages  Class Hierarchy  This Package  Previous  Next  Index