xapi.collect.api.StringTrie Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xapi-core-collect Show documentation
Show all versions of xapi-core-collect Show documentation
Core interfaces for our collections api.
package xapi.collect.api;
import xapi.util.api.ReceivesValue;
public interface StringTrie {
interface StringTrieEdge {
E addValue(CharSequence key, int keyFrom, E value);
int depth();
StringTrieCursor hasEdge(CharSequence key, int keyFrom);
StringTrieEdge highest();
CharSequence key();
StringTrieEdge lowest();
E value();
}
interface StringTrieCursor {
int consumed();
StringTrieEdge edge();
CharSequence key();
}
// Memory management
void clear();
StringTrie compress(CharPool pool);
void destroy();
// Getters
E get(CharSequence key);
E get(CharSequence key, int start, int len);
E get(CharSequence key, StringTrieCursor cursor, ReceivesValue> cursorPointer);
// Iterators
Iterable findPrefixed(CharSequence key);
Iterable findPrefixed(CharSequence key, int start, int len);
// Setters
E put(CharSequence key, E vaue);
E put(CharSequence key, int start, int len, E value);
StringTrieCursor put(CharSequence key, E vaue, StringTrieCursor cursor);
StringTrieCursor put(CharSequence key, int start, int len, E value, StringTrieCursor cursor);
// Metadata
int size();
}