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.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
An enumeration used in the API to specify sides. -
Method Summary
Modifier and TypeMethodDescriptionfindClosests
(Comparison inProgress, EObject eObj, EObjectIndex.Side side) Return the closest EObjects found in other sides than the one given.return the list of EObjects of a given side still available in the index.void
index
(EObject eObj, EObjectIndex.Side side) Register an Object in the index with the given side.void
remove
(EObject eObj, EObjectIndex.Side side) Remove an object from the index.
-
Method Details
-
getValuesStillThere
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
Remove an object from the index.- Parameters:
eObj
- object to remove.side
- Side in which this object was.
-
index
Register an Object in the index with the given side.- Parameters:
eObj
- theEObject
to register.side
- the side in which it should be registered.
-