All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xapi.collect.api.StringTrie Maven / Gradle / Ivy

There is a newer version: 0.5
Show newest version
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();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy