org.apache.jackrabbit.webdav.version
Class MergeInfo

java.lang.Object
  extended by org.apache.jackrabbit.webdav.version.MergeInfo
All Implemented Interfaces:
DeltaVConstants, XmlSerializable

public class MergeInfo
extends Object
implements DeltaVConstants, XmlSerializable

MergeInfo encapsulates the information present in the DAV:merge element, that forms the mandatory request body of a MERGE request.
The DAV:merge element is specified to have the following form.

 <!ELEMENT merge ANY>
 ANY value: A sequence of elements with one DAV:source element, at most one
 DAV:no-auto-merge element, at most one DAV:no-checkout element, at most one
 DAV:prop element, and any legal set of elements that can occur in a DAV:checkout
 element.
 <!ELEMENT source (href+)>
 <!ELEMENT no-auto-merge EMPTY>
 <!ELEMENT no-checkout EMPTY>
 prop: see RFC 2518, Section 12.11
 


Field Summary
 
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, VERSION_CONTROLLED_CONFIGURATION, 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
MergeInfo(Element mergeElement)
          Create a new MergeInfo
 
Method Summary
static Element createMergeElement(String[] mergeSource, boolean isNoAutoMerge, boolean isNoCheckout, Document factory)
          Factory method to create a minimal DAV:merge element to create a new MergeInfo object.
 Element getMergeElement()
          Returns the DAV:merge element used to create this MergeInfo object.
 DavPropertyNameSet getPropertyNameSet()
          Returns a DavPropertyNameSet.
 String[] getSourceHrefs()
          Returns the URL specified with the DAV:source element or null if no such child element is present in the DAV:merge element.
 boolean isNoAutoMerge()
          Returns true if the DAV:merge element contains a DAV:no-auto-merge child element.
 boolean isNoCheckout()
          Returns true if the DAV:merge element contains a DAV:no-checkout child element.
 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
 

Constructor Detail

MergeInfo

public MergeInfo(Element mergeElement)
          throws DavException
Create a new MergeInfo

Parameters:
mergeElement -
Throws:
DavException - if the mergeElement is null or not a DAV:merge element.
Method Detail

getSourceHrefs

public String[] getSourceHrefs()
Returns the URL specified with the DAV:source element or null if no such child element is present in the DAV:merge element.

Returns:
href present in the DAV:source child element or null.

isNoAutoMerge

public boolean isNoAutoMerge()
Returns true if the DAV:merge element contains a DAV:no-auto-merge child element.

Returns:
true if the DAV:merge element contains a DAV:no-auto-merge child.

isNoCheckout

public boolean isNoCheckout()
Returns true if the DAV:merge element contains a DAV:no-checkout child element.

Returns:
true if the DAV:merge element contains a DAV:no-checkout child

getPropertyNameSet

public DavPropertyNameSet getPropertyNameSet()
Returns a DavPropertyNameSet. If the DAV:merge element contains a DAV:prop child element the properties specified therein are included in the set. Otherwise an empty set is returned.
WARNING: modifying the DavPropertyNameSet returned by this method does not modify this UpdateInfo.

Returns:
set listing the properties specified in the DAV:prop element indicating those properties that must be reported in the response body.

getMergeElement

public Element getMergeElement()
Returns the DAV:merge element used to create this MergeInfo object.

Returns:
DAV:merge element

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)

createMergeElement

public static Element createMergeElement(String[] mergeSource,
                                         boolean isNoAutoMerge,
                                         boolean isNoCheckout,
                                         Document factory)
Factory method to create a minimal DAV:merge element to create a new MergeInfo object.

Parameters:
mergeSource -
isNoAutoMerge -
isNoCheckout -
factory -
Returns:


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