Interface IStorageUtilityIndexed<E extends Externalizable>

All Superinterfaces:
IStorageUtility<E>
All Known Implementing Classes:
DummyIndexedStorageUtility, WrappingStorageUtility

public interface IStorageUtilityIndexed<E extends Externalizable>
extends IStorageUtility<E>
  • Method Details

    • getIDsForValue

      List<Integer> getIDsForValue​(String fieldName, Object value)
      Retrieves a List of IDs of Externalizable objects in storage for which the field specified contains the value specified.
      Parameters:
      fieldName - The name of a field which should be evaluated
      value - The value which should be contained by the field specified
      Returns:
      A List of Integers such that retrieving the Externalizable object with any of those integer IDs will result in an object for which the field specified is equal to the value provided.
      Throws:
      RuntimeException - (Fix this exception type) if the field is unrecognized by the meta data
    • getRecordForValue

      E getRecordForValue​(String fieldName, Object value) throws NoSuchElementException, InvalidIndexException
      Retrieves a Externalizable object from the storage which is reference by the unique index fieldName.
      Parameters:
      fieldName - The name of the index field which will be evaluated
      value - The value which should be set in the index specified by fieldName for the returned object.
      Returns:
      An Externalizable object e, such that e.getMetaData(fieldName).equals(value);
      Throws:
      NoSuchElementException - If no objects reside in storage for which the return condition can be successful.
      InvalidIndexException - If the field used is an invalid index, because more than one field in the Storage contains the value of the index requested.
    • registerIndex

      void registerIndex​(String filterIndex)
      Optional. Register a new index for this storage which may optionally be able for indexed operations going forward. This will likely take a substantial amount of time for larger storage utilities.
      Parameters:
      filterIndex -