org.apache.jackrabbit.webdav.version
Class LabelInfo

java.lang.Object
  extended byorg.apache.jackrabbit.webdav.version.LabelInfo
All Implemented Interfaces:
DeltaVConstants, XmlSerializable

public class LabelInfo
extends Object
implements DeltaVConstants, XmlSerializable

LabelInfo encapsulates the request body of a LABEL request used to add, set or remove a label from the requested version resource or from that version specified with the Label header in case the requested resource is a version-controlled resource.

The request body (thus the 'labelElement' passed to the constructore must be a DAV:label element:

 <!ELEMENT label ANY>
 ANY value: A sequence of elements with at most one DAV:add,
 DAV:set, or DAV:remove element.
 <!ELEMENT add (label-name)>
 <!ELEMENT set (label-name)>
 <!ELEMENT remove (label-name)>
 <!ELEMENT label-name (#PCDATA)>
 PCDATA value: string
 
Please note, that the given implementation only recognizes the predefined elements 'add', 'set' and 'remove'.


Field Summary
static int TYPE_ADD
           
static int TYPE_REMOVE
           
static int TYPE_SET
           
static String[] typeNames
           
 
Fields inherited from interface org.apache.jackrabbit.webdav.version.DeltaVConstants
ATTR_NAME, ATTR_NAMESPACE, COMMENT, CREATOR_DISPLAYNAME, HEADER_LABEL, HEADER_LOCATION, NAMESPACE, SUPPORTED_LIVE_PROPERTY_SET, SUPPORTED_METHOD_SET, SUPPORTED_REPORT_SET, WORKSPACE, XML_ACTIVITY, XML_ACTIVITY_COLLECTION_SET, XML_BASELINE, XML_CHECKOUT, XML_CHECKOUT_CHECKIN, XML_CHECKOUT_UNLOCK_CHECKIN, XML_EXPAND_PROPERTY, XML_LABEL, XML_LABEL_ADD, XML_LABEL_NAME, XML_LABEL_REMOVE, XML_LABEL_SET, XML_LOCATE_BY_HISTORY, XML_LOCKED_CHECKIN, XML_MERGE, XML_N0_AUTO_MERGE, XML_N0_CHECKOUT, XML_OPTIONS, XML_OPTIONS_RESPONSE, XML_PROPERTY, XML_REPORT, XML_SUPPORTED_METHOD, XML_SUPPORTED_REPORT, XML_UPDATE, XML_VERSION, XML_VERSION_HISTORY, XML_VERSION_HISTORY_SET, XML_VERSION_TREE, XML_VH_COLLECTION_SET, XML_WORKSPACE, XML_WSP_COLLECTION_SET
 
Constructor Summary
LabelInfo(Element labelElement)
          Create a new LabelInfo from the given element.
LabelInfo(Element labelElement, int depth)
          Create a new LabelInfo from the given element and depth integer.
LabelInfo(String labelName, int type)
           
LabelInfo(String labelName, int type, int depth)
           
LabelInfo(String labelName, String type)
           
 
Method Summary
 int getDepth()
          Return the depth
 String getLabelName()
          Return the text present inside the 'DAV:label-name' element or null
 int getType()
          Return the type of the LABEL request.
 Element toXml(Document document)
          Returns the xml representation of the implementing object as Element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_SET

public static final int TYPE_SET
See Also:
Constant Field Values

TYPE_REMOVE

public static final int TYPE_REMOVE
See Also:
Constant Field Values

TYPE_ADD

public static final int TYPE_ADD
See Also:
Constant Field Values

typeNames

public static String[] typeNames
Constructor Detail

LabelInfo

public LabelInfo(String labelName,
                 String type)

LabelInfo

public LabelInfo(String labelName,
                 int type)

LabelInfo

public LabelInfo(String labelName,
                 int type,
                 int depth)

LabelInfo

public LabelInfo(Element labelElement,
                 int depth)
          throws DavException
Create a new LabelInfo from the given element and depth integer. If the specified Xml element does have a DeltaVConstants.XML_LABEL root element or no label name is specified with the action to perform the creation will fail.

Parameters:
labelElement -
depth -
Throws:
DavException - if the specified element does not start with a DeltaVConstants.XML_LABEL element or if the DAV:label element contains illegal instructions e.g. contains multiple DAV:add, DAV:set or DAV:remove elements.

LabelInfo

public LabelInfo(Element labelElement)
          throws DavException
Create a new LabelInfo from the given element. As depth the default value 0 is assumed.

Parameters:
labelElement -
Throws:
DavException
See Also:
#LabelInfo(org.w3c.dom.Element;, int)
Method Detail

getLabelName

public String getLabelName()
Return the text present inside the 'DAV:label-name' element or null

Returns:
'label-name' or null

getType

public int getType()
Return the type of the LABEL request. This might either be TYPE_SET, TYPE_ADD or TYPE_REMOVE.

Returns:
type

getDepth

public int getDepth()
Return the depth

Returns:
depth

toXml

public Element toXml(Document document)
Description copied from interface: XmlSerializable
Returns the xml representation of the implementing object as Element. The given Document is used as factory and represents the owner document of the returned DOM element.

Specified by:
toXml in interface XmlSerializable
Parameters:
document -
Returns:
a w3c element representing this object
See Also:
XmlSerializable.toXml(Document)


Copyright © 2005-2006 . All Rights Reserved.