org.apache.jackrabbit.webdav.ordering
Class Position

java.lang.Object
  extended by org.apache.jackrabbit.webdav.ordering.Position
All Implemented Interfaces:
OrderingConstants, XmlSerializable

public class Position
extends Object
implements OrderingConstants, XmlSerializable

Position encapsulates the position in ordering information contained in a Webdav request. This includes both the Position header and the position Xml element present in the request body of an ORDERPATCH request.

See Also:
OrderingConstants.HEADER_POSITION, OrderingConstants.XML_POSITION, OrderPatch

Field Summary
 
Fields inherited from interface org.apache.jackrabbit.webdav.ordering.OrderingConstants
HEADER_ORDERING_TYPE, HEADER_POSITION, NAMESPACE, ORDERING_TYPE, ORDERING_TYPE_CUSTOM, ORDERING_TYPE_UNORDERED, SUPPORTED_LIVE_PROPERTY_SET, SUPPORTED_METHOD_SET, XML_AFTER, XML_BEFORE, XML_FIRST, XML_LAST, XML_ORDER_MEMBER, XML_ORDERING_TYPE, XML_ORDERPATCH, XML_POSITION, XML_SEGMENT
 
Constructor Summary
Position(String type)
          Create a new Position object with the specified type.
Position(String type, String segment)
          Create a new Position object with the specified type and segment.
 
Method Summary
static Position createFromXml(Element positionElement)
          Create a new Position object from the specified position element.
 String getSegment()
          Returns the segment used to create this Position object or null if no segment is present with the type.
 String getType()
          Return the type of this Position object, which may be any of the following valid types: first, last, after, before
 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

Position

public Position(String type)
Create a new Position object with the specified type. Since any type except for first and last must be combined with a segment, only the mentioned types are valid arguments.

Parameters:
type - first or last
Throws:
IllegalArgumentException - if the given type is other than OrderingConstants.XML_FIRST or OrderingConstants.XML_LAST.

Position

public Position(String type,
                String segment)
Create a new Position object with the specified type and segment.

Parameters:
type -
segment -
Throws:
IllegalArgumentException - if the specified type and segment do not form a valid pair.
Method Detail

getType

public String getType()
Return the type of this Position object, which may be any of the following valid types: first, last, after, before

Returns:
type

getSegment

public String getSegment()
Returns the segment used to create this Position object or null if no segment is present with the type.

Returns:
segment or null
See Also:
getType()

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)

createFromXml

public static Position createFromXml(Element positionElement)
Create a new Position object from the specified position element. The element must fulfill the following structure:
 <!ELEMENT position (first | last | before | after) >
 <!ELEMENT segment (#PCDATA) >
 <!ELEMENT first EMPTY >
 <!ELEMENT last EMPTY >
 <!ELEMENT before segment >
 <!ELEMENT after segment >
 

Parameters:
positionElement - Xml element defining the position.
Throws:
IllegalArgumentException - if the given Xml element is not valid.


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