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