package com.bradmcevoy.http;

import com.bradmcevoy.http.exceptions.NotAuthorizedException;

/**
 * A collection which allows locking "unmapped resources". This means that a LOCK
 * method can effectively create an empty resource which is immediately locked
 * 
 * Implement this in conjunction with LockableResource on child resources to fully support locking.
 *
 * Note that this interface now extends LockableResource because collection resources
 * need to implement both in most cases.
 *
 * If, however, you don't want your collection resources to be lockable, just
 * implement ConditionalCompatibleResource
 * 
 * See - http://www.ettrema.com:8080/browse/MIL-14
 * 
 * @author brad
 */
public interface  LockingCollectionResource extends CollectionResource, LockableResource {
    
    /**
     * Create an empty non-collection resource of the given name and immediately
     *  lock it
     *
     * It is suggested that the implementor have a specific Resource class to act
     * as the lock null resource. You should consider using the LockNullResource
     * interface
     * 
     * @param name - the name of the resource to create
     * @param timeout - in seconds
     * @param lockInfo
     * @return
     */
    public LockToken createAndLock(String name, LockTimeout timeout, LockInfo lockInfo) throws NotAuthorizedException;
    
}

@@ -250,20 +250,17 @@
 y locked
-%0A * 
+.
 %0A * Impl
@@ -290,16 +290,22 @@
 on with 
+%7B@see 
 Lockable
@@ -312,16 +312,17 @@
 Resource
+%7D
  on chil
@@ -341,16 +341,19 @@
 to fully
+%0A *
  support
@@ -364,20 +364,28 @@
 king.%0A *
+ %3CP/%3E
 %0A * 
+%3CI%3E
 Note tha
@@ -413,16 +413,22 @@
 extends 
+%7B@see 
 Lockable
@@ -435,16 +435,17 @@
 Resource
+%7D
  because
@@ -506,19 +506,28 @@
 t cases.
-%0A *
+%3C/I%3E%0A * %3CP/%3E
 %0A * If, 
@@ -610,16 +610,22 @@
 plement 
+%7B@see 
 Conditio
@@ -649,20 +649,26 @@
 urce
+%7D.
 %0A * 
+%3CP/%3E
 %0A * See 
 - ht
@@ -663,18 +663,25 @@
 %0A * See 
-- 
+%3CA HREF=%22
 http://w
@@ -713,20 +713,72 @@
 e/MIL-14
-%0A * 
+%22%3Ehttp://www.ettrema.com:8080/browse/MIL-14%3C/A%3E.%0A * %3CP/%3E
 %0A * @aut
@@ -985,17 +985,16 @@
    *
- 
  lock it
 %0A   
@@ -989,23 +989,29 @@
  lock it
+.
 %0A     *
+ %3CP/%3E
 %0A     * 
@@ -1182,16 +1182,17 @@
 nterface
+.
 %0A     * 

update of javadoc (markup)