/** * Copyright (c) 2015 committers of YAKINDU and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * Contributors: * committers of YAKINDU - initial API and implementation * */ package org.yakindu.base.expressions.expressions.provider; import java.util.ArrayList; import java.util.Collection; import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.Notifier; import org.eclipse.emf.edit.provider.ChangeNotifier; import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.ComposedAdapterFactory; import org.eclipse.emf.edit.provider.IChangeNotifier; import org.eclipse.emf.edit.provider.IDisposable; import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; import org.eclipse.emf.edit.provider.IItemLabelProvider; import org.eclipse.emf.edit.provider.IItemPropertySource; import org.eclipse.emf.edit.provider.INotifyChangedListener; import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; import org.eclipse.emf.edit.provider.ITreeItemContentProvider; import org.yakindu.base.expressions.expressions.util.ExpressionsAdapterFactory; /** * This is the factory that is used to provide the interfaces needed to support Viewers. * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. * The adapters also support Eclipse property sheets. * Note that most of the adapters are shared among multiple instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public class ExpressionsItemProviderAdapterFactory extends ExpressionsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { /** * This keeps track of the root adapter factory that delegates to this adapter factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ComposedAdapterFactory parentAdapterFactory; /** * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected IChangeNotifier changeNotifier = new ChangeNotifier(); /** * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected Collection<Object> supportedTypes = new ArrayList<Object>(); /** * This constructs an instance. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ExpressionsItemProviderAdapterFactory() { supportedTypes.add(IEditingDomainItemProvider.class); supportedTypes.add(IStructuredItemContentProvider.class); supportedTypes.add(ITreeItemContentProvider.class); supportedTypes.add(IItemLabelProvider.class); supportedTypes.add(IItemPropertySource.class); } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.BoolLiteral} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected BoolLiteralItemProvider boolLiteralItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.BoolLiteral}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createBoolLiteralAdapter() { if (boolLiteralItemProvider == null) { boolLiteralItemProvider = new BoolLiteralItemProvider(this); } return boolLiteralItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.IntLiteral} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected IntLiteralItemProvider intLiteralItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.IntLiteral}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createIntLiteralAdapter() { if (intLiteralItemProvider == null) { intLiteralItemProvider = new IntLiteralItemProvider(this); } return intLiteralItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.DoubleLiteral} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected DoubleLiteralItemProvider doubleLiteralItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.DoubleLiteral}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createDoubleLiteralAdapter() { if (doubleLiteralItemProvider == null) { doubleLiteralItemProvider = new DoubleLiteralItemProvider(this); } return doubleLiteralItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.FloatLiteral} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected FloatLiteralItemProvider floatLiteralItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.FloatLiteral}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createFloatLiteralAdapter() { if (floatLiteralItemProvider == null) { floatLiteralItemProvider = new FloatLiteralItemProvider(this); } return floatLiteralItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.HexLiteral} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected HexLiteralItemProvider hexLiteralItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.HexLiteral}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createHexLiteralAdapter() { if (hexLiteralItemProvider == null) { hexLiteralItemProvider = new HexLiteralItemProvider(this); } return hexLiteralItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.StringLiteral} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected StringLiteralItemProvider stringLiteralItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.StringLiteral}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createStringLiteralAdapter() { if (stringLiteralItemProvider == null) { stringLiteralItemProvider = new StringLiteralItemProvider(this); } return stringLiteralItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.NullLiteral} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected NullLiteralItemProvider nullLiteralItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.NullLiteral}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createNullLiteralAdapter() { if (nullLiteralItemProvider == null) { nullLiteralItemProvider = new NullLiteralItemProvider(this); } return nullLiteralItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.AssignmentExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AssignmentExpressionItemProvider assignmentExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.AssignmentExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAssignmentExpressionAdapter() { if (assignmentExpressionItemProvider == null) { assignmentExpressionItemProvider = new AssignmentExpressionItemProvider(this); } return assignmentExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.ConditionalExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ConditionalExpressionItemProvider conditionalExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.ConditionalExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createConditionalExpressionAdapter() { if (conditionalExpressionItemProvider == null) { conditionalExpressionItemProvider = new ConditionalExpressionItemProvider(this); } return conditionalExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.LogicalOrExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected LogicalOrExpressionItemProvider logicalOrExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.LogicalOrExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createLogicalOrExpressionAdapter() { if (logicalOrExpressionItemProvider == null) { logicalOrExpressionItemProvider = new LogicalOrExpressionItemProvider(this); } return logicalOrExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.LogicalAndExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected LogicalAndExpressionItemProvider logicalAndExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.LogicalAndExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createLogicalAndExpressionAdapter() { if (logicalAndExpressionItemProvider == null) { logicalAndExpressionItemProvider = new LogicalAndExpressionItemProvider(this); } return logicalAndExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.LogicalNotExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected LogicalNotExpressionItemProvider logicalNotExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.LogicalNotExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createLogicalNotExpressionAdapter() { if (logicalNotExpressionItemProvider == null) { logicalNotExpressionItemProvider = new LogicalNotExpressionItemProvider(this); } return logicalNotExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.BitwiseXorExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected BitwiseXorExpressionItemProvider bitwiseXorExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.BitwiseXorExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createBitwiseXorExpressionAdapter() { if (bitwiseXorExpressionItemProvider == null) { bitwiseXorExpressionItemProvider = new BitwiseXorExpressionItemProvider(this); } return bitwiseXorExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.BitwiseOrExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected BitwiseOrExpressionItemProvider bitwiseOrExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.BitwiseOrExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createBitwiseOrExpressionAdapter() { if (bitwiseOrExpressionItemProvider == null) { bitwiseOrExpressionItemProvider = new BitwiseOrExpressionItemProvider(this); } return bitwiseOrExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.BitwiseAndExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected BitwiseAndExpressionItemProvider bitwiseAndExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.BitwiseAndExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createBitwiseAndExpressionAdapter() { if (bitwiseAndExpressionItemProvider == null) { bitwiseAndExpressionItemProvider = new BitwiseAndExpressionItemProvider(this); } return bitwiseAndExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.LogicalRelationExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected LogicalRelationExpressionItemProvider logicalRelationExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.LogicalRelationExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createLogicalRelationExpressionAdapter() { if (logicalRelationExpressionItemProvider == null) { logicalRelationExpressionItemProvider = new LogicalRelationExpressionItemProvider(this); } return logicalRelationExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.ShiftExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ShiftExpressionItemProvider shiftExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.ShiftExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createShiftExpressionAdapter() { if (shiftExpressionItemProvider == null) { shiftExpressionItemProvider = new ShiftExpressionItemProvider(this); } return shiftExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.NumericalAddSubtractExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected NumericalAddSubtractExpressionItemProvider numericalAddSubtractExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.NumericalAddSubtractExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createNumericalAddSubtractExpressionAdapter() { if (numericalAddSubtractExpressionItemProvider == null) { numericalAddSubtractExpressionItemProvider = new NumericalAddSubtractExpressionItemProvider(this); } return numericalAddSubtractExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.NumericalMultiplyDivideExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected NumericalMultiplyDivideExpressionItemProvider numericalMultiplyDivideExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.NumericalMultiplyDivideExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createNumericalMultiplyDivideExpressionAdapter() { if (numericalMultiplyDivideExpressionItemProvider == null) { numericalMultiplyDivideExpressionItemProvider = new NumericalMultiplyDivideExpressionItemProvider(this); } return numericalMultiplyDivideExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.NumericalUnaryExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected NumericalUnaryExpressionItemProvider numericalUnaryExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.NumericalUnaryExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createNumericalUnaryExpressionAdapter() { if (numericalUnaryExpressionItemProvider == null) { numericalUnaryExpressionItemProvider = new NumericalUnaryExpressionItemProvider(this); } return numericalUnaryExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.PrimitiveValueExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected PrimitiveValueExpressionItemProvider primitiveValueExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.PrimitiveValueExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createPrimitiveValueExpressionAdapter() { if (primitiveValueExpressionItemProvider == null) { primitiveValueExpressionItemProvider = new PrimitiveValueExpressionItemProvider(this); } return primitiveValueExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.FeatureCall} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected FeatureCallItemProvider featureCallItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.FeatureCall}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createFeatureCallAdapter() { if (featureCallItemProvider == null) { featureCallItemProvider = new FeatureCallItemProvider(this); } return featureCallItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.ElementReferenceExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ElementReferenceExpressionItemProvider elementReferenceExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.ElementReferenceExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createElementReferenceExpressionAdapter() { if (elementReferenceExpressionItemProvider == null) { elementReferenceExpressionItemProvider = new ElementReferenceExpressionItemProvider(this); } return elementReferenceExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.ParenthesizedExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ParenthesizedExpressionItemProvider parenthesizedExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.ParenthesizedExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createParenthesizedExpressionAdapter() { if (parenthesizedExpressionItemProvider == null) { parenthesizedExpressionItemProvider = new ParenthesizedExpressionItemProvider(this); } return parenthesizedExpressionItemProvider; } /** * This keeps track of the one adapter used for all {@link org.yakindu.base.expressions.expressions.TypeCastExpression} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected TypeCastExpressionItemProvider typeCastExpressionItemProvider; /** * This creates an adapter for a {@link org.yakindu.base.expressions.expressions.TypeCastExpression}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createTypeCastExpressionAdapter() { if (typeCastExpressionItemProvider == null) { typeCastExpressionItemProvider = new TypeCastExpressionItemProvider(this); } return typeCastExpressionItemProvider; } /** * This returns the root adapter factory that contains this factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ComposeableAdapterFactory getRootAdapterFactory() { return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); } /** * This sets the composed adapter factory that contains this factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { this.parentAdapterFactory = parentAdapterFactory; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean isFactoryForType(Object type) { return supportedTypes.contains(type) || super.isFactoryForType(type); } /** * This implementation substitutes the factory itself as the key for the adapter. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter adapt(Notifier notifier, Object type) { return super.adapt(notifier, this); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object adapt(Object object, Object type) { if (isFactoryForType(type)) { Object adapter = super.adapt(object, type); if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) { return adapter; } } return null; } /** * This adds a listener. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void addListener(INotifyChangedListener notifyChangedListener) { changeNotifier.addListener(notifyChangedListener); } /** * This removes a listener. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void removeListener(INotifyChangedListener notifyChangedListener) { changeNotifier.removeListener(notifyChangedListener); } /** * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void fireNotifyChanged(Notification notification) { changeNotifier.fireNotifyChanged(notification); if (parentAdapterFactory != null) { parentAdapterFactory.fireNotifyChanged(notification); } } /** * This disposes all of the item providers created by this factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void dispose() { if (boolLiteralItemProvider != null) boolLiteralItemProvider.dispose(); if (intLiteralItemProvider != null) intLiteralItemProvider.dispose(); if (doubleLiteralItemProvider != null) doubleLiteralItemProvider.dispose(); if (floatLiteralItemProvider != null) floatLiteralItemProvider.dispose(); if (hexLiteralItemProvider != null) hexLiteralItemProvider.dispose(); if (stringLiteralItemProvider != null) stringLiteralItemProvider.dispose(); if (nullLiteralItemProvider != null) nullLiteralItemProvider.dispose(); if (assignmentExpressionItemProvider != null) assignmentExpressionItemProvider.dispose(); if (conditionalExpressionItemProvider != null) conditionalExpressionItemProvider.dispose(); if (logicalOrExpressionItemProvider != null) logicalOrExpressionItemProvider.dispose(); if (logicalAndExpressionItemProvider != null) logicalAndExpressionItemProvider.dispose(); if (logicalNotExpressionItemProvider != null) logicalNotExpressionItemProvider.dispose(); if (bitwiseXorExpressionItemProvider != null) bitwiseXorExpressionItemProvider.dispose(); if (bitwiseOrExpressionItemProvider != null) bitwiseOrExpressionItemProvider.dispose(); if (bitwiseAndExpressionItemProvider != null) bitwiseAndExpressionItemProvider.dispose(); if (logicalRelationExpressionItemProvider != null) logicalRelationExpressionItemProvider.dispose(); if (shiftExpressionItemProvider != null) shiftExpressionItemProvider.dispose(); if (numericalAddSubtractExpressionItemProvider != null) numericalAddSubtractExpressionItemProvider.dispose(); if (numericalMultiplyDivideExpressionItemProvider != null) numericalMultiplyDivideExpressionItemProvider.dispose(); if (numericalUnaryExpressionItemProvider != null) numericalUnaryExpressionItemProvider.dispose(); if (primitiveValueExpressionItemProvider != null) primitiveValueExpressionItemProvider.dispose(); if (featureCallItemProvider != null) featureCallItemProvider.dispose(); if (elementReferenceExpressionItemProvider != null) elementReferenceExpressionItemProvider.dispose(); if (parenthesizedExpressionItemProvider != null) parenthesizedExpressionItemProvider.dispose(); if (typeCastExpressionItemProvider != null) typeCastExpressionItemProvider.dispose(); } }