io.sirix.node.interfaces.immutable.ImmutableStructNode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sirix-core Show documentation
Show all versions of sirix-core Show documentation
SirixDB is a hybrid on-disk and in-memory document oriented, versioned database system. It has a lightweight buffer manager, stores everything in a huge persistent and durable tree and allows efficient reconstruction of every revision. Furthermore, SirixDB implements change tracking, diffing and supports time travel queries.
package io.sirix.node.interfaces.immutable;
/**
* Immutable structural node (for instance element-, text-, PI-, document-node...).
*
* @author Johannes Lichtenberger
*
*/
public interface ImmutableStructNode extends ImmutableNode {
/**
* Declares, whether the item has a first child.
*
* @return true, if item has a first child, otherwise false
*/
boolean hasFirstChild();
/**
* Declares, whether the item has a last child.
*
* @return true, if item has a last child, otherwise false
*/
boolean hasLastChild();
/**
* Declares, whether the item has a left sibling.
*
* @return true, if item has a left sibling, otherwise false
*/
boolean hasLeftSibling();
/**
* Declares, whether the item has a right sibling.
*
* @return true, if item has a right sibling, otherwise false
*/
boolean hasRightSibling();
/**
* Get the number of children of the node.
*
* @return node's number of children
*/
long getChildCount();
/**
* Get the number of descendants of the node.
*
* @return node's number of descendants
*/
long getDescendantCount();
/**
* Gets key of the context item's first child.
*
* @return first child's key
*/
long getFirstChildKey();
/**
* Gets key of the context item's last child.
*
* @return last child's key
*/
long getLastChildKey();
/**
* Gets key of the context item's left sibling.
*
* @return left sibling key
*/
long getLeftSiblingKey();
/**
* Gets key of the context item's right sibling.
*
* @return right sibling key
*/
long getRightSiblingKey();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy