Interface EObjectIndex

All Known Implementing Classes:
ByTypeIndex, ProximityIndex

public interface EObjectIndex
An EObjectIndex has for responsability to store/remove EObjects and return the closest EObject from another one (each one being registered with a different Side.
  • Method Details

    • getValuesStillThere

      Iterable<EObject> getValuesStillThere(EObjectIndex.Side side)
      return the list of EObjects of a given side still available in the index.
      Parameters:
      side - the side we are looking for.
      Returns:
      the list of EObjects of a given side still available in the index.
    • findClosests

      Map<EObjectIndex.Side,EObject> findClosests(Comparison inProgress, EObject eObj, EObjectIndex.Side side)
      Return the closest EObjects found in other sides than the one given.
      Parameters:
      inProgress - the comparison currently being computed. It will not be changed directly but only queried to know if some element has already been matched or not.
      eObj - the base EObject used to lookup similar ones.
      side - the side of the passed EObject.
      Returns:
      a map of Side, EObjects, returning all the found objects (and the passed one) which are the closests.
    • remove

      void remove(EObject eObj, EObjectIndex.Side side)
      Remove an object from the index.
      Parameters:
      eObj - object to remove.
      side - Side in which this object was.
    • index

      void index(EObject eObj, EObjectIndex.Side side)
      Register an Object in the index with the given side.
      Parameters:
      eObj - the EObject to register.
      side - the side in which it should be registered.