本文整理汇总了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 ();
}
}