public class ByTypeIndex extends Object implements EObjectIndex, MatchAheadOfTime
EObjectIndex.Side
Constructor and Description |
---|
ByTypeIndex(ProximityEObjectMatcher.DistanceFunction meter,
ScopeQuery scope)
Create a new instance using the given
ProximityEObjectMatcher.DistanceFunction to instantiate delegate indexes on
demand. |
Modifier and Type | Method and Description |
---|---|
Map<EObjectIndex.Side,EObject> |
findClosests(Comparison inProgress,
EObject obj,
EObjectIndex.Side side)
Return the closest EObjects found in other sides than the one given.
|
Iterable<EObject> |
getValuesStillThere(EObjectIndex.Side side)
return the list of EObjects of a given side still available in the index.
|
Iterable<EObject> |
getValuesToMatchAhead(EObjectIndex.Side side)
Return EObjects to match ahead of time if there are some.
|
void |
index(EObject eObjs,
EObjectIndex.Side side)
Register an Object in the index with the given side.
|
void |
remove(EObject obj,
EObjectIndex.Side side)
Remove an object from the index.
|
public ByTypeIndex(ProximityEObjectMatcher.DistanceFunction meter, ScopeQuery scope)
ProximityEObjectMatcher.DistanceFunction
to instantiate delegate indexes on
demand.meter
- the function passed when instantiating delegate indexes.scope
- an instancepublic Iterable<EObject> getValuesStillThere(EObjectIndex.Side side)
getValuesStillThere
in interface EObjectIndex
side
- the side we are looking for.EObjectIndex.getValuesStillThere(org.eclipse.emf.compare.match.eobject.EObjectIndex.Side)
public Map<EObjectIndex.Side,EObject> findClosests(Comparison inProgress, EObject obj, EObjectIndex.Side side)
findClosests
in interface EObjectIndex
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.obj
- the base EObject used to lookup similar ones.side
- the side of the passed EObject.org.eclipse.emf.compare.match.eobject.EObjectIndex#findClosests(org.eclipse.emf.ecore.EObject,
org.eclipse.emf.compare.match.eobject.EObjectIndex.Side, int)
public void remove(EObject obj, EObjectIndex.Side side)
remove
in interface EObjectIndex
obj
- object to remove.side
- Side in which this object was.EObjectIndex.remove(org.eclipse.emf.ecore.EObject,
org.eclipse.emf.compare.match.eobject.EObjectIndex.Side)
public void index(EObject eObjs, EObjectIndex.Side side)
index
in interface EObjectIndex
eObjs
- the EObject
to register.side
- the side in which it should be registered.EObjectIndex.index(org.eclipse.emf.ecore.EObject,
org.eclipse.emf.compare.match.eobject.EObjectIndex.Side)
public Iterable<EObject> getValuesToMatchAhead(EObjectIndex.Side side)
getValuesToMatchAhead
in interface MatchAheadOfTime
side
- the side to look for.
Copyright (c) 2006, 2015 Obeo and others. All rights reserved.