當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。