public class FilterComparisonScope extends AbstractComparisonScope
IComparisonScope
can be provided specific filters to filter out parts of
the Notifiers' content lists.Adapter.Internal
Modifier and Type | Field and Description |
---|---|
protected com.google.common.base.Predicate<? super EObject> |
eObjectContentFilter
This will be used in order to determine the filter that should be used to filter the EObjects' content
list of unnecessary values.
|
protected com.google.common.base.Predicate<? super EObject> |
resourceContentFilter
This will be used in order to determine the filter that should be used to filter the Resources' content
list of unnecessary values.
|
protected com.google.common.base.Predicate<? super Resource> |
resourceSetContentFilter
This will be used in order to determine the filter that should be used to filter the ResourceSets'
content list of unnecessary values.
|
allInvolvedResourceURIs, diagnostic, left, nsURIs, origin, resourceURIs, right
target
Constructor and Description |
---|
FilterComparisonScope(Notifier left,
Notifier right,
Notifier origin)
This will instantiate a scope with left, right and origin Notifiers defined.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addUri(EObject eObject)
Registers the namespace and resource URI from the given
eObject . |
protected void |
addUri(Resource resource)
Registers the resource URI from the given
resource . |
protected <T> void |
addUri(T obj)
Tries and register the URI of the given object as one of this scope's resources.
|
Iterator<? extends EObject> |
getChildren(EObject eObject)
This will be used by EMF Compare in order to know which EObjects should be considered to be part of the
comparison scope when it is launched on the given EObject.
|
Iterator<? extends EObject> |
getCoveredEObjects(Resource resource)
This will be used by EMF Compare in order to determine the EObjects that it should iterate over.
|
Iterator<? extends Resource> |
getCoveredResources(ResourceSet resourceSet)
This will be used by EMF Compare in order to determine the Resources that should be considered part of
the comparison when it is launched on the given resource set.
|
void |
setEObjectContentFilter(com.google.common.base.Predicate<? super EObject> newContentFilter)
This can be used to set the filter that should be used to filter the EObjects' content list of
unnecessary values.
|
void |
setResourceContentFilter(com.google.common.base.Predicate<? super EObject> resourceContentFilter)
This can be used to set the filter that should be used to filter the Resources' content list of
unnecessary values.
|
void |
setResourceSetContentFilter(com.google.common.base.Predicate<? super Resource> resourceSetContentFilter)
This can be used to set the filter that should be used to filter the ResourceSets' content list of
unnecessary values.
|
getAllInvolvedResourceURIs, getDiagnostic, getLeft, getNsURIs, getOrigin, getResourceURIs, getRight, isAdapterForType, setDiagnostic
getTarget, notifyChanged, setTarget, unsetTarget
protected com.google.common.base.Predicate<? super EObject> eObjectContentFilter
protected com.google.common.base.Predicate<? super EObject> resourceContentFilter
protected com.google.common.base.Predicate<? super Resource> resourceSetContentFilter
public FilterComparisonScope(Notifier left, Notifier right, Notifier origin)
left
- The left root of this comparison.right
- The right root of this comparison.origin
- The common ancestor of left
and right
. May be null
.public Iterator<? extends Resource> getCoveredResources(ResourceSet resourceSet)
Do note that this will only be called once per Resource. We will retrieve the set of EMF resources to
include in the comparison, match them, then use IComparisonScope.getCoveredEObjects(Resource)
in order to
determine the actual EObjects to cover during that comparison.
This default implementation will only return the Resource
s directly contained by
ResourceSet
which match the resourceSetContentFilter
predicate.
resourceSet
- The resource set for which we need to know all resources spanned by the comparison.Resource
s which are part of this scope.IComparisonScope.getCoveredResources(org.eclipse.emf.ecore.resource.ResourceSet)
public Iterator<? extends EObject> getCoveredEObjects(Resource resource)
Do note that this will only be called once per comparison. EMF Compare expects this to return the whole set of EObjects that should be covered by the comparison when launched on the given Resource.
This default implementation will return all direct and indirect content of the given Resource
,
filtering out those EObject
s that do not match resourceContentFilter
.
resource
- The resource for which we need to determine all EObjects spanned by the comparison.EObject
s which are part of this scope.IComparisonScope.getCoveredEObjects(org.eclipse.emf.ecore.resource.Resource)
public Iterator<? extends EObject> getChildren(EObject eObject)
Do note that this will only be called once per comparison on EObjects, and never for comparisons
launched on ResourceSet
s or Resource
s. EMF Compare expects the whole set of EObject
that should be covered by the comparison to be returned by this.
This default implementation will return all direct and indirect content of the given EObject
,
filtering out those EObject
s that do not match eObjectContentFilter
.
eObject
- The EObject for which we need to determine the comparison scope.EObject
s which are part of this scope.IComparisonScope.getChildren(org.eclipse.emf.ecore.EObject)
public void setEObjectContentFilter(com.google.common.base.Predicate<? super EObject> newContentFilter)
newContentFilter
- The filter that should be used for EObject content filtering.public void setResourceContentFilter(com.google.common.base.Predicate<? super EObject> resourceContentFilter)
resourceContentFilter
- The filter that should be used for Resource content filtering.public void setResourceSetContentFilter(com.google.common.base.Predicate<? super Resource> resourceSetContentFilter)
resourceSetContentFilter
- The filter that should be used for ResourceSet content filtering.protected <T> void addUri(T obj)
T
- Type of this object.obj
- eObject for which weprotected void addUri(EObject eObject)
eObject
.eObject
- The given eObject
.protected void addUri(Resource resource)
resource
.resource
- The given resource
.
Copyright (c) 2006, 2015 Obeo and others. All rights reserved.