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

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

Go to download

Everything needed to run a comprehensive dev environment. Just type X_ and pick a service from autocomplete; new dev modules will be added as they are built. The only dev service not included in the uber jar is xapi-dev-maven, as it includes all runtime dependencies of maven, adding ~4 seconds to build time, and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).

The 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