Package org.roaringbitmap.art
Class LeafNode
- java.lang.Object
-
- org.roaringbitmap.art.Node
-
- org.roaringbitmap.art.LeafNode
-
public class LeafNode extends Node
-
-
Field Summary
Fields Modifier and Type Field Description static intLEAF_NODE_KEY_LENGTH_IN_BYTES-
Fields inherited from class org.roaringbitmap.art.Node
count, ILLEGAL_IDX, nodeType, prefix, prefixLength
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddeserializeNodeBody(java.io.DataInput dataInput)voiddeserializeNodeBody(java.nio.ByteBuffer byteBuffer)NodegetChild(int pos)get the child at the specified position in the node, the 'pos' range from 0 to countintgetChildPos(byte k)get the position of a child corresponding to the input key 'k'longgetContainerIdx()byte[]getKeyBytes()intgetMaxPos()get the max child's positionintgetMinPos()get the position of the min element in current node.intgetNextLargerPos(int pos)get the next position in the nodeintgetNextSmallerPos(int pos)get the next smaller element's positionNoderemove(int pos)remove the specified position childvoidreplaceChildren(Node[] children)voidreplaceNode(int pos, Node freshOne)replace the position child to the fresh onevoidserializeNodeBody(java.io.DataOutput dataOutput)voidserializeNodeBody(java.nio.ByteBuffer byteBuffer)intserializeNodeBodySizeInBytes()the serialized size except the common node header part-
Methods inherited from class org.roaringbitmap.art.Node
binarySearch, copyPrefix, deserialize, deserialize, insertLeaf, serialize, serialize, serializeSizeInBytes
-
-
-
-
Field Detail
-
LEAF_NODE_KEY_LENGTH_IN_BYTES
public static final int LEAF_NODE_KEY_LENGTH_IN_BYTES
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
LeafNode
public LeafNode(byte[] key, long containerIdx)constructor- Parameters:
key- the 48 bitcontainerIdx- the corresponding container index
-
LeafNode
public LeafNode(long key, long containerIdx)constructor- Parameters:
key- a long value ,only the high 48 bit is valuablecontainerIdx- the corresponding container index
-
-
Method Detail
-
serializeNodeBody
public void serializeNodeBody(java.io.DataOutput dataOutput) throws java.io.IOException- Throws:
java.io.IOException
-
serializeNodeBody
public void serializeNodeBody(java.nio.ByteBuffer byteBuffer) throws java.io.IOException- Throws:
java.io.IOException
-
deserializeNodeBody
public void deserializeNodeBody(java.io.DataInput dataInput) throws java.io.IOException- Throws:
java.io.IOException
-
deserializeNodeBody
public void deserializeNodeBody(java.nio.ByteBuffer byteBuffer) throws java.io.IOException- Throws:
java.io.IOException
-
serializeNodeBodySizeInBytes
public int serializeNodeBodySizeInBytes()
Description copied from class:Nodethe serialized size except the common node header part- Specified by:
serializeNodeBodySizeInBytesin classNode- Returns:
- the size in bytes
-
getChildPos
public int getChildPos(byte k)
Description copied from class:Nodeget the position of a child corresponding to the input key 'k'- Specified by:
getChildPosin classNode- Parameters:
k- a key value of the byte range- Returns:
- the child position corresponding to the key 'k'
-
getChild
public Node getChild(int pos)
Description copied from class:Nodeget the child at the specified position in the node, the 'pos' range from 0 to count
-
replaceNode
public void replaceNode(int pos, Node freshOne)Description copied from class:Nodereplace the position child to the fresh one- Specified by:
replaceNodein classNode- Parameters:
pos- the positionfreshOne- the fresh node to replace the old one
-
getMinPos
public int getMinPos()
Description copied from class:Nodeget the position of the min element in current node.
-
getNextLargerPos
public int getNextLargerPos(int pos)
Description copied from class:Nodeget the next position in the node- Specified by:
getNextLargerPosin classNode- Parameters:
pos- current position,-1 to start from the min one- Returns:
- the next larger byte key's position which is close to 'pos' position,-1 for end
-
getMaxPos
public int getMaxPos()
Description copied from class:Nodeget the max child's position
-
getNextSmallerPos
public int getNextSmallerPos(int pos)
Description copied from class:Nodeget the next smaller element's position- Specified by:
getNextSmallerPosin classNode- Parameters:
pos- the position,-1 to start from the largest one- Returns:
- the next smaller key's position which is close to input 'pos' position,-1 for end
-
remove
public Node remove(int pos)
Description copied from class:Noderemove the specified position child
-
replaceChildren
public void replaceChildren(Node[] children)
-
getContainerIdx
public long getContainerIdx()
-
getKeyBytes
public byte[] getKeyBytes()
-
-