org.w3c.tools.resources
Class ResourceFrame

java.lang.Object
  |
  +--org.w3c.tools.resources.AttributeHolder
        |
        +--org.w3c.tools.resources.Resource
              |
              +--org.w3c.tools.resources.FramedResource
                    |
                    +--org.w3c.tools.resources.ResourceFrame
Direct Known Subclasses:
MetaDataFrame, ProtocolFrame, ResourceFilter, UnknownFrame

public class ResourceFrame
extends FramedResource
implements AttributeChangedListener

The resource frame class. A ResourceFrame can be attached to a resource.


Field Summary
protected static java.lang.Class filterClass
          The special class of filter.
protected  FrameEventListener frameListener
          Our FrameEventListener.
protected  FramedResource resource
          Our target resource.
 
Fields inherited from class org.w3c.tools.resources.FramedResource
ATTR_OID, attrListener, debugEvent, event_disabled, framesRef, structListener
 
Fields inherited from class org.w3c.tools.resources.Resource
ATTR_CONTEXT, ATTR_HELP_URL, ATTR_IDENTIFIER, ATTR_LAST_MODIFIED, ATTR_PARENT, ATTR_RESOURCE_FRAMES, ATTR_STORE_ENTRY, ATTR_URL
 
Fields inherited from class org.w3c.tools.resources.AttributeHolder
attributes, slowpickle, values
 
Constructor Summary
ResourceFrame()
           
 
Method Summary
 void addFrameEventListener(FrameEventListener l)
          Add a frame event listener.
 void attributeChanged(AttributeChangedEvent evt)
          Listen its resource.
 boolean checkRequest(RequestInterface request)
          Check if this kind of request can be perform by this resource.
protected  boolean eventDisabled()
           
protected  void fireFrameEvent(FrameEvent evt)
          Fire a frameEvent.
 void frameModified(FrameEvent evt)
          This handles the FRAME_MODIFIED kind of events.
 ResourceFilter[] getFilters()
          Get our whole list of filters.
 ResourceFilter[] getFilters(java.lang.Class cls)
          Get the list of filters of this class.
 ResourceReference getFrameReference()
          Get The FrameReference of this frame, or null if this frame is not registered.
 FramedResource getResource()
          Get the target resource.
 ResourceReference getResourceReference()
           
protected  SpaceEntry getSpaceEntry()
          Get the space entry for that resource.
 java.lang.String getURLPath()
          Get the file part of the URL this resource is attached to.
 boolean lookup(LookupState ls, LookupResult lr)
          Lookup the target resource.
protected  boolean lookupFilters(LookupState ls, LookupResult lr)
          lookup only filters.
protected  boolean lookupFrames(LookupState ls, LookupResult lr)
          lookup frames excluding filters.
 ReplyInterface perform(RequestInterface request)
          Perform the request
protected  void postFrameEvent(int type)
          Post a frameEvent.
 void processEvent(ResourceEvent evt)
           
 void registerResource(FramedResource resource)
          Register a target resource.
 void removeFrameEventListener(FrameEventListener l)
          Remove a frame event listener.
 void setValue(int idx, java.lang.Object value)
          We overide setValue, to fire event.
 void unregisterResource(Resource resource)
          Register a target resource.
protected  void updateDefaultChildAttributes(java.util.Hashtable attrs)
          If our target resource has some children, we could have some attribute to give to them.
 
Methods inherited from class org.w3c.tools.resources.FramedResource
addAttributeChangedListener, addStructureChangedListener, collectFramesReference, delete, disableEvent, displayEvent, enableEvent, fireAttributeChangeEvent, fireStructureChangedEvent, fireStructureChangedEvent, frameAdded, frameRemoved, getClone, getFrame, getFrame, getFrameReference, getFrameReference, getFramesReference, getOid, initialize, markModified, notifyUnload, performFrames, postAttributeChangeEvent, postEvent, postStructureChangedEvent, postStructureChangedEvent, registerFrame, registerFrameIfNone, removeAttributeChangedListener, removeStructureChangedListener, unregisterFrame
 
Methods inherited from class org.w3c.tools.resources.Resource
acceptUnload, checkMultipleLock, collectFrames, getContext, getFrame, getFrames, getHelpURL, getHelpURL, getIdentifier, getLastModified, getParent, getServer, getSpace, getStoreEntry, getValue, getValue, isInitialized, isUnloaded, setContext, setContext, setValue, updateAttributes
 
Methods inherited from class org.w3c.tools.resources.AttributeHolder
definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, initialize, lookupAttribute, pickle, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unpickle, unpickle, unpickle, unpickleInstance, unpickleInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

filterClass

protected static java.lang.Class filterClass
The special class of filter.

frameListener

protected transient FrameEventListener frameListener
Our FrameEventListener.

resource

protected FramedResource resource
Our target resource.
Constructor Detail

ResourceFrame

public ResourceFrame()
Method Detail

eventDisabled

protected boolean eventDisabled()
Overrides:
eventDisabled in class FramedResource

getURLPath

public java.lang.String getURLPath()
Get the file part of the URL this resource is attached to.
Returns:
An URL object specifying the location in the information space of this resource.
Overrides:
getURLPath in class Resource

getSpaceEntry

protected SpaceEntry getSpaceEntry()
Get the space entry for that resource. This Object is use to retrieve the resource in the resource space. A ResourceFrame has no SpaceEntry.
Returns:
always null.
Overrides:
getSpaceEntry in class Resource

getFrameReference

public ResourceReference getFrameReference()
Get The FrameReference of this frame, or null if this frame is not registered.
Returns:
A ResourceReference instance.

getResourceReference

public ResourceReference getResourceReference()
Overrides:
getResourceReference in class Resource

updateDefaultChildAttributes

protected void updateDefaultChildAttributes(java.util.Hashtable attrs)
If our target resource has some children, we could have some attribute to give to them.
Parameters:
attrs - A Hashtable.

checkRequest

public boolean checkRequest(RequestInterface request)
Check if this kind of request can be perform by this resource.
Parameters:
request - A RequestInterface instance
Returns:
a boolean.

perform

public ReplyInterface perform(RequestInterface request)
                       throws ProtocolException,
                              ResourceException
Perform the request
Parameters:
request - the incomming request
Throws:
ProtocolException - If an error relative to the protocol occurs
ResourceException - If an error not relative to the protocol occurs
Overrides:
perform in class FramedResource

lookupFilters

protected boolean lookupFilters(LookupState ls,
                                LookupResult lr)
                         throws ProtocolException
lookup only filters.
Throws:
ProtocolException - If an error relative to the protocol occurs

lookupFrames

protected boolean lookupFrames(LookupState ls,
                               LookupResult lr)
                        throws ProtocolException
lookup frames excluding filters.
Throws:
ProtocolException - If an error relative to the protocol occurs

lookup

public boolean lookup(LookupState ls,
                      LookupResult lr)
               throws ProtocolException
Lookup the target resource.
Parameters:
ls - The current lookup state
lr - The result
Throws:
ProtocolException - If an error relative to the protocol occurs
Overrides:
lookup in class FramedResource

processEvent

public void processEvent(ResourceEvent evt)
Overrides:
processEvent in class FramedResource

addFrameEventListener

public void addFrameEventListener(FrameEventListener l)
Add a frame event listener.
Parameters:
l - The new frame event listener.

removeFrameEventListener

public void removeFrameEventListener(FrameEventListener l)
Remove a frame event listener.
Parameters:
l - The listener to remove.

postFrameEvent

protected void postFrameEvent(int type)
Post a frameEvent.
Parameters:
the - frame event type.

fireFrameEvent

protected void fireFrameEvent(FrameEvent evt)
Fire a frameEvent.
Parameters:
the - frame event type.

attributeChanged

public void attributeChanged(AttributeChangedEvent evt)
Listen its resource.
Specified by:
attributeChanged in interface AttributeChangedListener

frameModified

public void frameModified(FrameEvent evt)
This handles the FRAME_MODIFIED kind of events.
Parameters:
evt - The event describing the change.
Overrides:
frameModified in class FramedResource

setValue

public void setValue(int idx,
                     java.lang.Object value)
We overide setValue, to fire event.
Parameters:
idx - The index of the attribute to modify.
value - The new attribute value.
Overrides:
setValue in class FramedResource

getResource

public FramedResource getResource()
Get the target resource.
Returns:
a resource instance.

registerResource

public void registerResource(FramedResource resource)
Register a target resource. Called after initialize, set the context. getServer() can be call only after this method call.

unregisterResource

public void unregisterResource(Resource resource)
Register a target resource.

getFilters

public ResourceFilter[] getFilters()
Get our whole list of filters.

getFilters

public ResourceFilter[] getFilters(java.lang.Class cls)
Get the list of filters of this class.
Parameters:
cls - The class of filters requested.
Returns:
An array of filters, which are instances of the given class.