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

java.lang.Object
  extended by org.apache.jackrabbit.webdav.property.AbstractDavProperty<T>
All Implemented Interfaces:
DavConstants, DavProperty<T>, PropEntry, XmlSerializable
Direct Known Subclasses:
AclProperty, AclRestrictionsProperty, CurrentUserPrivilegeSetProperty, DefaultDavProperty, HrefProperty, LabelSetProperty, LengthsProperty, LockDiscovery, NamespacesProperty, NodeTypeProperty, ParentSet, QueryGrammerSet, ResourceType, SearchResultProperty, SubscriptionDiscovery, SupportedLock, SupportedMethodSetProperty, SupportedPrivilegeSetProperty, SupportedReportSetProperty, ValuesProperty

public abstract class AbstractDavProperty<T>
extends Object
implements DavProperty<T>

AbstractDavProperty provides generic METHODS used by various implementations of the DavProperty interface.


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
AbstractDavProperty(DavPropertyName name, boolean isInvisibleInAllprop)
          Create a new AbstractDavProperty with the given DavPropertyName and a boolean flag indicating whether this property should be suppressed in PROPFIND/allprop responses.
 
Method Summary
 boolean equals(Object obj)
          Checks if this property has the same name and value as the given one.
 DavPropertyName getName()
          Returns the name of this property.
 int hashCode()
          Computes the hash code using this property's name and value.
 boolean isInvisibleInAllprop()
          Return true if this property should be suppressed in a PROPFIND/DAV:allprop response.
 Element toXml(Document document)
          Return a XML element representation of this property.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jackrabbit.webdav.property.DavProperty
getValue
 

Constructor Detail

AbstractDavProperty

public AbstractDavProperty(DavPropertyName name,
                           boolean isInvisibleInAllprop)
Create a new AbstractDavProperty with the given DavPropertyName and a boolean flag indicating whether this property should be suppressed in PROPFIND/allprop responses.

Method Detail

hashCode

public int hashCode()
Computes the hash code using this property's name and value.

Overrides:
hashCode in class Object
Returns:
the hash code

equals

public boolean equals(Object obj)
Checks if this property has the same name and value as the given one.

Overrides:
equals in class Object
Parameters:
obj - the object to compare to
Returns:
true if the 2 objects are equal; false otherwise

toXml

public Element toXml(Document document)
Return a XML element representation of this property. The value of the property will be added as text or as child element.
 new DavProperty("displayname", "WebDAV Directory").toXml
 gives a element like:
 <D:displayname>WebDAV Directory</D:displayname>

 new DavProperty("resourcetype", new Element("collection")).toXml
 gives a element like:
 <D:resourcetype><D:collection/></D:resourcetype>

 Element[] customVals = { new Element("bla", customNamespace), new Element("bli", customNamespace) };
 new DavProperty("custom-property", customVals, customNamespace).toXml
 gives an element like
 <Z:custom-property>
    <Z:bla/>
    <Z:bli/>
 </Z:custom-property>
 

Specified by:
toXml in interface XmlSerializable
Parameters:
document -
Returns:
a XML element of this property
See Also:
XmlSerializable.toXml(Document)

getName

public DavPropertyName getName()
Returns the name of this property.

Specified by:
getName in interface DavProperty<T>
Returns:
name
See Also:
DavProperty.getName()

isInvisibleInAllprop

public boolean isInvisibleInAllprop()
Return true if this property should be suppressed in a PROPFIND/DAV:allprop response. See RFC 4918, Section 9.1.

Specified by:
isInvisibleInAllprop in interface DavProperty<T>
Returns:
true, if this property should be suppressed in a PROPFIND/allprop response
See Also:
DavProperty.isInvisibleInAllprop()


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