## 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, slowpickle, 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)`
`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, 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, 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

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

  Overrides:
    index in class DirectoryResource

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