当前位置: 首页>>代码示例>>Java>>正文


Java Notification.REMOVE属性代码示例

本文整理汇总了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);
		}
	});
}
 
开发者ID:eclipse,项目名称:gemoc-studio-modeldebugging,代码行数:44,代码来源:SimpleModelChangeListenerAddon.java

示例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 ();
    }
}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:43,代码来源:DerivedAttributeAdapter.java


注:本文中的org.eclipse.emf.common.notify.Notification.REMOVE属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。