public class OldValueClassFilterIncludingSubclasses extends ClassFilterIncludingSubclasses
Notification.getOldValue()
to an EObject.eClass()
and all subclasses of this EClass
. If the new value is a collection then this
filter matches if at least one of the collection's elements is matched.
When several such filters are combined in an AndFilter
, the
AndFilter
matches if all of its operand filters match. This does not
require the individual OldValueClassFilterIncludingSubclasses
s to
match based on the same element in case the old value happens to be a
collection. For example, assume there are two classes X
and
Y
with a class Z
that has both, X
and
Y
as its superclasses (multiple inheritance). Assume there is an
AndFilter
with two OldValueClassFilterIncludingSubclasses
s
inside, one matching X
, the other matching Y
. If
only a single element is the old value of a Notification
, the
AndFilter
matches the notification if and only if the old value
conforms to both, X
and Y
, for example if its type
is Z
. However, if there are two elements in the old value
collection of the Notification
, one of type X
and the
other of type Y
, the first
OldValueClassFilterIncludingSubclasses
matches because of the
X
element, and the second
OldValueClassFilterIncludingSubclasses
matches because of the
Y
element and hence the AndFilter
matches. However, no
single element in the old value collection fulfills both criteria.
wantedClass
Constructor and Description |
---|
OldValueClassFilterIncludingSubclasses(org.eclipse.emf.ecore.EClass clazz,
boolean isNegated) |
Modifier and Type | Method and Description |
---|---|
OldValueClassFilterIncludingSubclasses |
clone() |
boolean |
equals(java.lang.Object obj) |
int |
hashCode() |
boolean |
matchesFor(org.eclipse.emf.common.notify.Notification event)
Tests if the incoming
Notification matches the intern specification |
java.lang.String |
toString() |
matches
getFilterCriterion, getWantedClass
expandNewAndOldValueCollections, isNegated, setNegated
public OldValueClassFilterIncludingSubclasses(org.eclipse.emf.ecore.EClass clazz, boolean isNegated)
public boolean equals(java.lang.Object obj)
equals
in class ClassFilter
public int hashCode()
hashCode
in class ClassFilterIncludingSubclasses
public boolean matchesFor(org.eclipse.emf.common.notify.Notification event)
EventFilter
Notification
matches the intern specificationmatchesFor
in interface EventFilter
matchesFor
in class ClassFilter
event
- the Notification
to controlNotification
matches the intern specificationpublic java.lang.String toString()
toString
in class ClassFilterIncludingSubclasses
public OldValueClassFilterIncludingSubclasses clone()
clone
in interface EventFilter
clone
in class ClassFilterIncludingSubclasses