org.w3c.jigsaw.resources
Class DirectoryResource

java.lang.Object
  extended by org.w3c.tools.resources.AttributeHolder
      extended by org.w3c.tools.resources.Resource
          extended by org.w3c.tools.resources.FramedResource
              extended by org.w3c.tools.resources.AbstractContainer
                  extended by org.w3c.tools.resources.ContainerResource
                      extended by org.w3c.tools.resources.DirectoryResource
                          extended by org.w3c.jigsaw.resources.DirectoryResource
All Implemented Interfaces:
java.lang.Cloneable, java.util.EventListener, ContainerInterface, AttributeChangedListener, FrameEventListener, StructureChangedListener
Direct Known Subclasses:
HttpDirectoryResource, PassDirectory, WebDAVDirectoryResource

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, ATTR_SHRINKABLE
 
Fields inherited from class org.w3c.tools.resources.ContainerResource
acquired, ATTR_KEY, debug
 
Fields inherited from class org.w3c.tools.resources.AbstractContainer
ur
 
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, co, id
 
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.
 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, getShrinkableFlag, index, initialize, lookup, reindex, resourceRemoved, setValue, unsafeGetDirectory, unsafeGetShrinkableFlag, 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, initialize, isInitialized, isUnloaded, pickleValues, setContext, setContext, setValue, unsafeGetContext, unsafeGetFrame, unsafeGetFrames, unsafeGetIdentifier, unsafeGetResourceReference, unsafeGetURLPath, unsafeGetValue, updateAttributes
 
Methods inherited from class org.w3c.tools.resources.AttributeHolder
definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, lookupAttribute, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unsafeDefinesAttribute, unsafeGetDouble, unsafeGetString
 
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.

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.