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 class ContainerResource
extends AbstractContainer
This resource manage children resources.


Variable Index

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

Constructor Index

 o ContainerResource()

Method Index

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

Variables

 o ATTR_KEY
 protected static int ATTR_KEY
Attribute index - The index of the resource key.

 o acquired
 protected boolean acquired

Constructors

 o ContainerResource
 public ContainerResource()

Methods

 o getClone
 public Object getClone(Object values[])
Clone this attribute holder, and init it with the given attributes.

Overrides:
getClone in class FramedResource
 o getKey
 public Integer getKey()
Get the container Key. This key must be unique and unchanged during the container life.

Returns:
a String instance.
 o getSpaceEntry
 protected SpaceEntry getSpaceEntry()
Get the space entry for that resource.

Overrides:
getSpaceEntry in class Resource
 o getChildrenSpaceEntry
 protected SpaceEntry getChildrenSpaceEntry()
Get the SpaceEntry of our children resources.

Returns:
A SpaceEntry instance.
 o resourceModified
 public void resourceModified(StructureChangedEvent evt)
This handles the RESOURCE_MODIFIED kind of events.

Parameters:
evt - The StructureChangeEvent.
Overrides:
resourceModified in class AbstractContainer
 o 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
 o 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
 o 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
 o 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
 o createDefaultResource
 public ResourceReference createDefaultResource(String name)
Create a default child resource in that container. This method is called by the editor to add a default resource in the container under the given name. The meaning of default is left up to the container here.

Parameters:
name - The identifier for the new resource.
Overrides:
createDefaultResource in class AbstractContainer
 o 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
 o 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
 o 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
 o 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.
 o 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
 o 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 FramedResource
 o acquireChildren
 protected synchronized void acquireChildren()
Acquire our children. Must be called before all child manipulation.

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