org.w3c.jigsaw.resources
Class DirectoryResource

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
                                |
                                +--org.w3c.tools.resources.DirectoryResource
                                      |
                                      +--org.w3c.jigsaw.resources.DirectoryResource
Direct Known Subclasses:
HttpDirectoryResource, PassDirectory

public class DirectoryResource
extends DirectoryResource


Field Summary
protected static int ATTR_NEGOTIABLE
          Attribute index - Should this directory support content negotiation.
 
Fields inherited from class org.w3c.tools.resources.DirectoryResource
ATTR_DIRECTORY, ATTR_DIRSTAMP, ATTR_EXTENSIBLE, ATTR_INDEXER
 
Fields inherited from class org.w3c.tools.resources.ContainerResource
acquired, ATTR_KEY
 
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, values
 
Constructor Summary
DirectoryResource()
           
 
Method Summary
 boolean getNegotiableFlag()
          Get the negotiable flag for this directory.
protected  Resource index(java.lang.String name, java.util.Hashtable defs, RequestInterface req)
          Index a Resource.
 boolean lookup(LookupState ls, LookupResult lr)
          Lookup the next component of this lookup state in here.
 void updateNegotiableResource(java.lang.String name)
          Update a negotiable resource.
 
Methods inherited from class org.w3c.tools.resources.DirectoryResource
createDefaultResource, createDefaultResource, createDirectoryResource, createResource, createResource, delete, enumerateAllResourceIdentifiers, enumerateResourceIdentifiers, getDirectory, getDirStamp, getExtensibleFlag, getIndexedName, getIndexer, initialize, lookup, reindex, resourceRemoved, setValue, updateDefaultChildAttributes, verify
 
Methods inherited from class org.w3c.tools.resources.ContainerResource
acquireChildren, addResource, delete, deleteChildren, getChildrenSpaceEntry, getClone, getKey, getMatchingCharsCount, getSpaceEntry, internalLookup, notifyUnload, registerResource, replace, resourceCreated, resourceModified
 
Methods inherited from class org.w3c.tools.resources.AbstractContainer
attributeChanged, enumerateResourceIdentifiers, resourceUnloaded
 
Methods inherited from class org.w3c.tools.resources.FramedResource
addAttributeChangedListener, addStructureChangedListener, collectFramesReference, disableEvent, displayEvent, enableEvent, eventDisabled, fireAttributeChangeEvent, fireStructureChangedEvent, fireStructureChangedEvent, frameAdded, frameModified, frameRemoved, getFrame, getFrame, getFrameReference, getFrameReference, getFramesReference, getOid, markModified, perform, performFrames, postAttributeChangeEvent, postEvent, postStructureChangedEvent, postStructureChangedEvent, processEvent, registerFrame, registerFrameIfNone, removeAttributeChangedListener, removeStructureChangedListener, setSilentValue, setSilentValue, unregisterFrame
 
Methods inherited from class org.w3c.tools.resources.Resource
acceptUnload, checkMultipleLock, collectFrames, getContext, getFrame, getFrames, getHelpURL, getHelpURL, getIdentifier, getLastModified, getParent, getResourceReference, getServer, getSpace, getStoreEntry, getURLPath, 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, pickleValues, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ATTR_NEGOTIABLE

protected static int ATTR_NEGOTIABLE
Attribute index - Should this directory support content negotiation.
Constructor Detail

DirectoryResource

public DirectoryResource()
Method Detail

getNegotiableFlag

public boolean getNegotiableFlag()
Get the negotiable flag for this directory. When turned to true, this flag indicates to the directory resource that it should automatically build negotiated resources ont op of all existing resources.

You should know, at least, that turning this flag on has some not so small cost in terms of the size of the index files, and some not so small costs in CPU time when detecting not found documents. Otherwise, in all other situations its cost is probably negligible.

Returns:
A boolean, true if the directory is extensible false otherwise.

updateNegotiableResource

public void updateNegotiableResource(java.lang.String name)
Update a negotiable resource. Given the name of a resource that exists, create or update the attributes of a resource that allows to negotiate its content.

I hate this part here: it has nothing to do within the directory resource itself, and the indexer shouldn't know that much about directory resource, so I am stuck.

Parameters:
name - The name of the newly created resource.

index

protected Resource index(java.lang.String name,
                         java.util.Hashtable defs,
                         RequestInterface req)
Description copied from class: DirectoryResource
Index a Resource. Call the indexer.
Overrides:
index in class DirectoryResource
Tags copied from class: DirectoryResource
Parameters:
name - The name of the resource to index.
defs - The defaults attributes.
req - The protocol request.
Returns:
A resource instance.
See Also:
SampleResourceIndexer

lookup

public boolean lookup(LookupState ls,
                      LookupResult lr)
               throws ProtocolException
Lookup the next component of this lookup state in here.
Overrides:
lookup in class ContainerResource
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.