/** * Generated with Acceleo */ package org.eclipse.emf.ecoretools.design.properties.ecore.providers; import java.util.List; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.emf.ecoretools.design.properties.ecore.components.EDataTypeDataTypePropertiesEditionComponent; import org.eclipse.emf.ecoretools.design.properties.ecore.components.EDataTypeInstanciationPropertiesEditionComponent; import org.eclipse.emf.ecoretools.design.properties.ecore.components.EDataTypePropertiesEditionComponent; import org.eclipse.emf.eef.runtime.api.component.IPropertiesEditionComponent; import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext; import org.eclipse.emf.eef.runtime.impl.utils.EEFUtils; import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider; import org.eclipse.emf.eef.runtime.providers.impl.PropertiesEditingProviderImpl; import org.eclipse.jface.viewers.IFilter; /** * * */ public class EDataTypePropertiesEditionProvider extends PropertiesEditingProviderImpl { /** * Constructor without provider for super types. */ public EDataTypePropertiesEditionProvider() { super(); } /** * Constructor with providers for super types. * @param superProviders providers to use for super types. */ public EDataTypePropertiesEditionProvider(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 EDataType) && (EcorePackage.Literals.EDATA_TYPE == 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 EDataType) && (EDataTypeDataTypePropertiesEditionComponent.DATATYPE_PART.equals(part) || EDataTypeInstanciationPropertiesEditionComponent.INSTANCIATION_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 EDataType) && (refinement == EDataTypeDataTypePropertiesEditionComponent.class || refinement == EDataTypeInstanciationPropertiesEditionComponent.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 EDataType) && ((EDataTypeDataTypePropertiesEditionComponent.DATATYPE_PART.equals(part) && refinement == EDataTypeDataTypePropertiesEditionComponent.class) || (EDataTypeInstanciationPropertiesEditionComponent.INSTANCIATION_PART.equals(part) && refinement == EDataTypeInstanciationPropertiesEditionComponent.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 EDataType) { return new EDataTypePropertiesEditionComponent(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 EDataType) { if (EDataTypeDataTypePropertiesEditionComponent.DATATYPE_PART.equals(part)) return new EDataTypeDataTypePropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); if (EDataTypeInstanciationPropertiesEditionComponent.INSTANCIATION_PART.equals(part)) return new EDataTypeInstanciationPropertiesEditionComponent(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 EDataType) { if (EDataTypeDataTypePropertiesEditionComponent.DATATYPE_PART.equals(part) && refinement == EDataTypeDataTypePropertiesEditionComponent.class) return new EDataTypeDataTypePropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); if (EDataTypeInstanciationPropertiesEditionComponent.INSTANCIATION_PART.equals(part) && refinement == EDataTypeInstanciationPropertiesEditionComponent.class) return new EDataTypeInstanciationPropertiesEditionComponent(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) { EObject eObj = EEFUtils.resolveSemanticObject(toTest); return eObj != null && EcorePackage.Literals.EDATA_TYPE == eObj.eClass(); } } }