/** * Generated with Acceleo */ package org.obeonetwork.dsl.entityrelation.providers; import java.util.List; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.eef.runtime.api.component.IPropertiesEditionComponent; import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext; import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider; import org.eclipse.emf.eef.runtime.providers.impl.PropertiesEditingProviderImpl; import org.eclipse.jface.viewers.IFilter; import org.obeonetwork.dsl.entityrelation.Entity; import org.obeonetwork.dsl.entityrelation.EntityRelationPackage; import org.obeonetwork.dsl.entityrelation.components.EntityEntityPropertiesEditionComponent; import org.obeonetwork.dsl.entityrelation.components.EntityIdentifiersPropertiesEditionComponent; import org.obeonetwork.dsl.entityrelation.components.EntityPropertiesEditionComponent; /** * * */ public class EntityPropertiesEditionProvider extends PropertiesEditingProviderImpl { /** * Constructor without provider for super types. */ public EntityPropertiesEditionProvider() { super(); } /** * Constructor with providers for super types. * @param superProviders providers to use for super types. */ public EntityPropertiesEditionProvider(List<PropertiesEditingProvider> superProviders) { super(superProviders); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#provides(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext) * */ public boolean provides(PropertiesEditingContext editingContext) { return (editingContext.getEObject() instanceof Entity) && (EntityRelationPackage.Literals.ENTITY == editingContext.getEObject().eClass()); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#provides(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String) * */ public boolean provides(PropertiesEditingContext editingContext, String part) { return (editingContext.getEObject() instanceof Entity) && (EntityEntityPropertiesEditionComponent.ENTITY_PART.equals(part) || EntityIdentifiersPropertiesEditionComponent.IDENTIFIERS_PART.equals(part)); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#provides(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.Class) * */ @SuppressWarnings("rawtypes") public boolean provides(PropertiesEditingContext editingContext, java.lang.Class refinement) { return (editingContext.getEObject() instanceof Entity) && (refinement == EntityEntityPropertiesEditionComponent.class || refinement == EntityIdentifiersPropertiesEditionComponent.class); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#provides(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String, java.lang.Class) * */ @SuppressWarnings("rawtypes") public boolean provides(PropertiesEditingContext editingContext, String part, java.lang.Class refinement) { return (editingContext.getEObject() instanceof Entity) && ((EntityEntityPropertiesEditionComponent.ENTITY_PART.equals(part) && refinement == EntityEntityPropertiesEditionComponent.class) || (EntityIdentifiersPropertiesEditionComponent.IDENTIFIERS_PART.equals(part) && refinement == EntityIdentifiersPropertiesEditionComponent.class)); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#getPropertiesEditingComponent(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String) * */ public IPropertiesEditionComponent getPropertiesEditingComponent(PropertiesEditingContext editingContext, String mode) { if (editingContext.getEObject() instanceof Entity) { return new EntityPropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); } return super.getPropertiesEditingComponent(editingContext, mode); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#getPropertiesEditingComponent(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String, java.lang.String) * */ public IPropertiesEditionComponent getPropertiesEditingComponent(PropertiesEditingContext editingContext, String mode, String part) { if (editingContext.getEObject() instanceof Entity) { if (EntityEntityPropertiesEditionComponent.ENTITY_PART.equals(part)) return new EntityEntityPropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); if (EntityIdentifiersPropertiesEditionComponent.IDENTIFIERS_PART.equals(part)) return new EntityIdentifiersPropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); } return super.getPropertiesEditingComponent(editingContext, mode, part); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#getPropertiesEditingComponent(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String, java.lang.String, java.lang.Class) */ @SuppressWarnings("rawtypes") public IPropertiesEditionComponent getPropertiesEditingComponent(PropertiesEditingContext editingContext, String mode, String part, java.lang.Class refinement) { if (editingContext.getEObject() instanceof Entity) { if (EntityEntityPropertiesEditionComponent.ENTITY_PART.equals(part) && refinement == EntityEntityPropertiesEditionComponent.class) return new EntityEntityPropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); if (EntityIdentifiersPropertiesEditionComponent.IDENTIFIERS_PART.equals(part) && refinement == EntityIdentifiersPropertiesEditionComponent.class) return new EntityIdentifiersPropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); } return super.getPropertiesEditingComponent(editingContext, mode, part, refinement); } /** * Provides the filter used by the plugin.xml to assign part forms. */ public static class EditionFilter implements IFilter { /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.IFilter#select(java.lang.Object) */ public boolean select(Object toTest) { return toTest instanceof EObject && EntityRelationPackage.Literals.ENTITY == ((EObject)toTest).eClass(); } } }