io.sirix.index.redblacktree.interfaces.ImmutableRBNodeKey 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.index.redblacktree.interfaces;
import io.sirix.node.interfaces.Node;
/**
* Immutable RBNode.
*/
public interface ImmutableRBNodeKey> extends Node {
/**
* Key to be indexed.
*
* @return key reference
*/
K getKey();
/**
* Node key of value node.
*
* @return the node key of the value node
*/
long getValueNodeKey();
/**
* Flag which determines if node is changed.
*
* @return {@code true} if it has been changed in memory, {@code false} otherwise
*/
boolean isChanged();
/**
* Determines node has a left child.
*
* @return {@code true}, if it has a left child, {@code false} otherwise
*/
boolean hasLeftChild();
/**
* Determines node has a right child.
*
* @return {@code true}, if it has a left child, {@code false} otherwise
*/
boolean hasRightChild();
/**
* Get left child.
*
* @return left child pointer
*/
long getLeftChildKey();
/**
* Get right child.
*
* @return right child pointer
*/
long getRightChildKey();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy