本文整理匯總了Java中org.eclipse.emf.common.notify.Notification.REMOVE屬性的典型用法代碼示例。如果您正苦於以下問題:Java Notification.REMOVE屬性的具體用法?Java Notification.REMOVE怎麽用?Java Notification.REMOVE使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類org.eclipse.emf.common.notify.Notification
的用法示例。
在下文中一共展示了Notification.REMOVE屬性的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: SimpleModelChangeListenerAddon
public SimpleModelChangeListenerAddon(final IExecutionEngine engine) {
this.engine = engine;
changes = new HashMap<>();
registeredAddons = new HashSet<>();
adapter = new EContentAdapter() {
@Override
public void notifyChanged(Notification notification) {
super.notifyChanged(notification);
int eventType = notification.getEventType();
Object notifier = notification.getNotifier();
if (eventType < Notification.EVENT_TYPE_COUNT && notifier instanceof EObject && !notification.isTouch()) {
switch (notification.getEventType()) {
case Notification.ADD:
case Notification.ADD_MANY:
addFeatureChange((EStructuralFeature) notification.getFeature(),
(EObject) notification.getNotifier(), notification.getNewValue(),
FieldChange.ChangeType.ADD);
break;
case Notification.REMOVE:
case Notification.REMOVE_MANY:
addFeatureChange((EStructuralFeature) notification.getFeature(),
(EObject) notification.getNotifier(), notification.getOldValue(),
FieldChange.ChangeType.REMOVE);
break;
case Notification.MOVE:
case Notification.SET:
case Notification.UNSET:
addFeatureChange((EStructuralFeature) notification.getFeature(),
(EObject) notification.getNotifier(), notification.getNewValue(),
FieldChange.ChangeType.MODIFY);
break;
}
}
}
};
Set<Resource> allResources = org.eclipse.gemoc.commons.eclipse.emf.EMFResource.getRelatedResources(this.engine
.getExecutionContext().getResourceModel());
allResources.stream().forEach(r -> {
if (r != null) {
r.eAdapters().add(adapter);
}
});
}
示例2: notifyChanged
@Override
public void notifyChanged ( final Notification notification )
{
if ( notification.getFeature () == null )
{
return;
}
if ( notification.getFeature ().equals ( this.navigationFeature ) )
{
switch ( notification.getEventType () )
{
// TODO support ADD_MANY/REMOVE_MANY?
case Notification.ADD:
final EObject added = (EObject)notification.getNewValue ();
added.eAdapters ().add ( this.dependantAdapter );
break;
case Notification.SET:
final EObject newValue = (EObject)notification.getNewValue ();
final EObject oldValue = (EObject)notification.getOldValue ();
if ( oldValue != null )
{
oldValue.eAdapters ().remove ( this.dependantAdapter );
}
if ( newValue != null )
{
newValue.eAdapters ().add ( this.dependantAdapter );
}
break;
case Notification.REMOVE:
final EObject removed = (EObject)notification.getOldValue ();
removed.eAdapters ().remove ( this.dependantAdapter );
break;
default:
return; // No notification
}
notifyDerivedAttributeChange ();
}
else if ( this.localFeatures.contains ( notification.getFeature () ) )
{
notifyDerivedAttributeChange ();
}
}