org.apache.jackrabbit.webdav.property
Class DefaultDavProperty<T>

java.lang.Object
  extended by org.apache.jackrabbit.webdav.property.AbstractDavProperty<T>
      extended by org.apache.jackrabbit.webdav.property.DefaultDavProperty<T>
All Implemented Interfaces:
DavConstants, DavProperty<T>, PropEntry, XmlSerializable

public class DefaultDavProperty<T>
extends AbstractDavProperty<T>

DefaultDavProperty...


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
DefaultDavProperty(DavPropertyName name, T value)
          Creates a new non- protected WebDAV property with the given DavPropertyName and value.
DefaultDavProperty(DavPropertyName name, T value, boolean isProtected)
          Creates a new WebDAV property with the given DavPropertyName and value.
DefaultDavProperty(String name, T value, Namespace namespace)
          Creates a new non-protected WebDAV property with the given namespace, name and value.
DefaultDavProperty(String name, T value, Namespace namespace, boolean isProtected)
          Creates a new WebDAV property with the given namespace, name and value.
 
Method Summary
static DefaultDavProperty<?> createFromXml(Element propertyElement)
          Create a new DefaultDavProperty instance from the given Xml element.
 T getValue()
          Returns the value of this property
 
Methods inherited from class org.apache.jackrabbit.webdav.property.AbstractDavProperty
equals, getName, hashCode, isInvisibleInAllprop, toXml
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultDavProperty

public DefaultDavProperty(String name,
                          T value,
                          Namespace namespace,
                          boolean isProtected)
Creates a new WebDAV property with the given namespace, name and value. If the property is intended to be protected the isProtected flag must be set to true.

Parameters:
name - the name of the property
value - the value of the property
namespace - the namespace of the property
isProtected - A value of true, defines this property to be protected. It will not be returned in a DAV:allprop PROPFIND request and cannot be set/removed with a PROPPATCH request.

DefaultDavProperty

public DefaultDavProperty(String name,
                          T value,
                          Namespace namespace)
Creates a new non-protected WebDAV property with the given namespace, name and value.

Parameters:
name - the name of the property
value - the value of the property
namespace - the namespace of the property

DefaultDavProperty

public DefaultDavProperty(DavPropertyName name,
                          T value,
                          boolean isProtected)
Creates a new WebDAV property with the given DavPropertyName and value. If the property is meant to be protected the 'isProtected' flag must be set to true.

Parameters:
name - the name of the property
value - the value of the property
isProtected - A value of true, defines this property to be protected. It will not be returned in a DAV:allprop PROPFIND request and cannot be set/removed with a PROPPATCH request.

DefaultDavProperty

public DefaultDavProperty(DavPropertyName name,
                          T value)
Creates a new non- protected WebDAV property with the given DavPropertyName and value.

Parameters:
name - the name of the property
value - the value of the property
Method Detail

getValue

public T getValue()
Returns the value of this property

Returns:
the value of this property

createFromXml

public static DefaultDavProperty<?> createFromXml(Element propertyElement)
Create a new DefaultDavProperty instance from the given Xml element. Name and namespace of the element are building the DavPropertyName, while the element's content forms the property value. The following logic is applied:
 - empty Element           -> null value
 - single Text content     -> String value
 - single non-Text content -> Element.getContent(0) is used as value
 - other: List obtained from Element.getContent() is used as value
 

Parameters:
propertyElement -
Returns:


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