org.apache.jackrabbit.spi
Interface ItemId

All Known Subinterfaces:
NodeId, PropertyId

public interface ItemId

An ItemId identifies an item using a combination of unique ID and path. There are three basic forms of an ItemId. The following table shows each of the allowed combinations where an X in the column indicates that a value is set and a - indicates that the value is null:

UniqueIDPathUsage
X- The item can be identified with a unique ID. In most cases such an item is also mix:referenceable but there is no restriction in that respect. An SPI implementation may also use a unique ID to identify non-referenceable nodes. Whether a node is referenceable is purely governed by its node type or the assigned mixin types. Note, that the format of the ID it is left to the implementation.
-X The item can not be identified with a unique ID and none of its ancestors can be identified with a unique ID. The item is identified by an absolute path.
XX The item can not be identified with a unique ID but one of its ancestors can. getUniqueID() returns the unique ID of the nearest ancestor, which can be identified with a unique ID. The relative path provides a navigation path from the above mentioned ancestor to the item identified by the ItemId.


Method Summary
 boolean denotesNode()
           
 Path getPath()
           
 String getUniqueID()
           
 

Method Detail

denotesNode

boolean denotesNode()
Returns:
true if this ItemId identifies a node; otherwise false.

getUniqueID

String getUniqueID()
Returns:
the uniqueID part of this item id or null if the identified item nor any of its ancestors can be identified with a uniqueID.

getPath

Path getPath()
Returns:
the path part of this item id. Returns null if this item can be identified solely with a uniqueID.


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