org.apache.jackrabbit.webdav.lock
Class SupportedLock

java.lang.Object
  extended by org.apache.jackrabbit.webdav.property.AbstractDavProperty<List<LockEntry>>
      extended by org.apache.jackrabbit.webdav.lock.SupportedLock
All Implemented Interfaces:
DavConstants, DavProperty<List<LockEntry>>, PropEntry, XmlSerializable

public class SupportedLock
extends AbstractDavProperty<List<LockEntry>>

The SupportedLock class encapsulates the lock capabilties of a resource. It is mainly responsible for generating the <supportedlock> property.


Field Summary
 
Fields inherited from interface org.apache.jackrabbit.webdav.DavConstants
creationDateFormat, DEPTH_0, DEPTH_1, DEPTH_INFINITY, DEPTH_INFINITY_S, HEADER_AUTHORIZATION, HEADER_CONTENT_LANGUAGE, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_DAV, HEADER_DEPTH, HEADER_DESTINATION, HEADER_ETAG, HEADER_IF, HEADER_LAST_MODIFIED, HEADER_LOCK_TOKEN, HEADER_OVERWRITE, HEADER_TIMEOUT, INFINITE_TIMEOUT, modificationDateFormat, NAMESPACE, OPAQUE_LOCK_TOKEN_PREFIX, PROPERTY_CREATIONDATE, PROPERTY_DISPLAYNAME, PROPERTY_GETCONTENTLANGUAGE, PROPERTY_GETCONTENTLENGTH, PROPERTY_GETCONTENTTYPE, PROPERTY_GETETAG, PROPERTY_GETLASTMODIFIED, PROPERTY_LOCKDISCOVERY, PROPERTY_RESOURCETYPE, PROPERTY_SOURCE, PROPERTY_SUPPORTEDLOCK, PROPFIND_ALL_PROP, PROPFIND_ALL_PROP_INCLUDE, PROPFIND_BY_PROPERTY, PROPFIND_PROPERTY_NAMES, TIMEOUT_INFINITE, UNDEFINED_TIME, UNDEFINED_TIMEOUT, XML_ACTIVELOCK, XML_ALLPROP, XML_COLLECTION, XML_DEPTH, XML_DST, XML_EXCLUSIVE, XML_HREF, XML_INCLUDE, XML_KEEPALIVE, XML_LINK, XML_LOCKENTRY, XML_LOCKINFO, XML_LOCKROOT, XML_LOCKSCOPE, XML_LOCKTOKEN, XML_LOCKTYPE, XML_MULTISTATUS, XML_OMIT, XML_OWNER, XML_PROP, XML_PROPERTYBEHAVIOR, XML_PROPERTYUPDATE, XML_PROPFIND, XML_PROPNAME, XML_PROPSTAT, XML_REMOVE, XML_RESPONSE, XML_RESPONSEDESCRIPTION, XML_SET, XML_SHARED, XML_SOURCE, XML_STATUS, XML_TIMEOUT, XML_WRITE
 
Constructor Summary
SupportedLock()
          Creates a new empty SupportedLock property.
 
Method Summary
 void addEntry(LockEntry entry)
          Adds a capability to this lock support.
 void addEntry(Type type, Scope scope)
          Adds a capability to this lock support.
 Iterator<LockEntry> getSupportedLocks()
          Returns an iterator over all supported locks.
 List<LockEntry> getValue()
          Returns the list of supported lock entries.
 boolean isSupportedLock(Type type, Scope scope)
          Returns true if this a lock with the given type and scope is supported.
 Element toXml(Document document)
          Creates an XML element that represents the <supportedlock> tag.
 
Methods inherited from class org.apache.jackrabbit.webdav.property.AbstractDavProperty
equals, getName, hashCode, isInvisibleInAllprop
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SupportedLock

public SupportedLock()
Creates a new empty SupportedLock property.

Method Detail

addEntry

public void addEntry(Type type,
                     Scope scope)
Adds a capability to this lock support.

Parameters:
type - Can currently only be 'write'
scope - Can currently only be 'exclusive' or 'shared'
Throws:
IllegalArgumentException - If an argument contains invalid string

addEntry

public void addEntry(LockEntry entry)
Adds a capability to this lock support.

Parameters:
entry - specifying the type of lock that is supported by this entry.
See Also:
LockEntry

isSupportedLock

public boolean isSupportedLock(Type type,
                               Scope scope)
Returns true if this a lock with the given type and scope is supported.

Parameters:
type -
scope -
Returns:
true if applying a lock with the given type and scope is basically supported.

getSupportedLocks

public Iterator<LockEntry> getSupportedLocks()
Returns an iterator over all supported locks.

Returns:
an iterator over all supported locks

toXml

public Element toXml(Document document)
Creates an XML element that represents the <supportedlock> tag.

Specified by:
toXml in interface XmlSerializable
Overrides:
toXml in class AbstractDavProperty<List<LockEntry>>
Parameters:
document -
Returns:
An XML element of this lock support.
See Also:
XmlSerializable.toXml(Document)

getValue

public List<LockEntry> getValue()
Returns the list of supported lock entries.

Returns:
list of supported lock.
See Also:
DavProperty.getValue()


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.