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 Detail

      • 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.