Commit abd22a67 authored by Kai-Holger Brassel's avatar Kai-Holger Brassel
Browse files

Demo catalog with data model and generated classes

parent d9b6ae6f
/**
*/
package demo.catalog.democatalog.provider;
import demo.catalog.democatalog.SolarPanel;
import demo.catalog.democatalog.democatalogPackage;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link demo.catalog.democatalog.SolarPanel} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class SolarPanelItemProvider extends EnergyComponentItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SolarPanelItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addNominalPowerPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Nominal Power feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNominalPowerPropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(), getString("_UI_SolarPanel_nominalPower_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_SolarPanel_nominalPower_feature",
"_UI_SolarPanel_type"),
democatalogPackage.Literals.SOLAR_PANEL__NOMINAL_POWER, true, false, false,
ItemPropertyDescriptor.REAL_VALUE_IMAGE, null, null));
}
/**
* This returns SolarPanel.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/SolarPanel"));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected boolean shouldComposeCreationImage() {
return true;
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((SolarPanel) object).getModelName();
return label == null || label.length() == 0 ? getString("_UI_SolarPanel_type")
: getString("_UI_SolarPanel_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(SolarPanel.class)) {
case democatalogPackage.SOLAR_PANEL__NOMINAL_POWER:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
}
/**
*/
package demo.catalog.democatalog.provider;
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.util.ResourceLocator;
/**
* This is the central singleton for the democatalog edit plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public final class democatalogEditPlugin extends EMFPlugin {
/**
* Keep track of the singleton.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final democatalogEditPlugin INSTANCE = new democatalogEditPlugin();
/**
* Keep track of the singleton.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static Implementation plugin;
/**
* Create the instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public democatalogEditPlugin() {
super(new ResourceLocator[] {});
}
/**
* Returns the singleton instance of the Eclipse plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the singleton instance.
* @generated
*/
@Override
public ResourceLocator getPluginResourceLocator() {
return plugin;
}
/**
* Returns the singleton instance of the Eclipse plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the singleton instance.
* @generated
*/
public static Implementation getPlugin() {
return plugin;
}
/**
* The actual implementation of the Eclipse <b>Plugin</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static class Implementation extends EclipsePlugin {
/**
* Creates an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Implementation() {
super();
// Remember the static instance.
//
plugin = this;
}
}
}
/**
*/
package demo.catalog.democatalog.provider;
import demo.catalog.democatalog.util.democatalogAdapterFactory;
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;
/**
* 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 democatalogItemProviderAdapterFactory extends democatalogAdapterFactory
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 democatalogItemProviderAdapterFactory() {
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 demo.catalog.democatalog.EnergyComponentsCatalog} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EnergyComponentsCatalogItemProvider energyComponentsCatalogItemProvider;
/**
* This creates an adapter for a {@link demo.catalog.democatalog.EnergyComponentsCatalog}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createEnergyComponentsCatalogAdapter() {
if (energyComponentsCatalogItemProvider == null) {
energyComponentsCatalogItemProvider = new EnergyComponentsCatalogItemProvider(this);
}
return energyComponentsCatalogItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link demo.catalog.democatalog.Boiler} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected BoilerItemProvider boilerItemProvider;
/**
* This creates an adapter for a {@link demo.catalog.democatalog.Boiler}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createBoilerAdapter() {
if (boilerItemProvider == null) {
boilerItemProvider = new BoilerItemProvider(this);
}
return boilerItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link demo.catalog.democatalog.CombinedHeatPower} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected CombinedHeatPowerItemProvider combinedHeatPowerItemProvider;
/**
* This creates an adapter for a {@link demo.catalog.democatalog.CombinedHeatPower}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createCombinedHeatPowerAdapter() {
if (combinedHeatPowerItemProvider == null) {
combinedHeatPowerItemProvider = new CombinedHeatPowerItemProvider(this);
}
return combinedHeatPowerItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link demo.catalog.democatalog.SolarPanel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected SolarPanelItemProvider solarPanelItemProvider;
/**
* This creates an adapter for a {@link demo.catalog.democatalog.SolarPanel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSolarPanelAdapter() {
if (solarPanelItemProvider == null) {
solarPanelItemProvider = new SolarPanelItemProvider(this);
}
return solarPanelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link demo.catalog.democatalog.Inverter} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected InverterItemProvider inverterItemProvider;
/**
* This creates an adapter for a {@link demo.catalog.democatalog.Inverter}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createInverterAdapter() {
if (inverterItemProvider == null) {
inverterItemProvider = new InverterItemProvider(this);
}
return inverterItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link demo.catalog.democatalog.Manufacturer} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ManufacturerItemProvider manufacturerItemProvider;
/**
* This creates an adapter for a {@link demo.catalog.democatalog.Manufacturer}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createManufacturerAdapter() {
if (manufacturerItemProvider == null) {
manufacturerItemProvider = new ManufacturerItemProvider(this);
}
return manufacturerItemProvider;
}
/**
* 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 (energyComponentsCatalogItemProvider != null)
energyComponentsCatalogItemProvider.dispose();
if (boilerItemProvider != null)
boilerItemProvider.dispose();
if (combinedHeatPowerItemProvider != null)
combinedHeatPowerItemProvider.dispose();
if (solarPanelItemProvider != null)
solarPanelItemProvider.dispose();
if (inverterItemProvider != null)
inverterItemProvider.dispose();
if (manufacturerItemProvider != null)
manufacturerItemProvider.dispose();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>demo.catalog</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.sirius.nature.modelingproject</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: demo.catalog;singleton:=true
Automatic-Module-Name: demo.catalog
Bundle-Version: 0.1.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: demo.catalog.democatalog,
demo.catalog.democatalog.impl,
demo.catalog.democatalog.util
Require-Bundle: org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
#
bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src-gen/
output.. = bin/
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="democatalog" nsURI="http://www.example.org/democatalog" nsPrefix="democatalog">
<eClassifiers xsi:type="ecore:EClass" name="EnergyComponentsCatalog">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="author" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="boilers" upperBound="-1"
eType="#//Boiler" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="chps" upperBound="-1" eType="#//CombinedHeatPower"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="solarpanels" upperBound="-1"
eType="#//SolarPanel" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inverters" upperBound="-1"
eType="#//Inverter" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="manufacturers" upperBound="-1"
eType="#//Manufacturer" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="BoilerType">
<eLiterals name="LowTemperature"/>
<eLiterals name="Condensing" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Boiler" eSuperTypes="#//ChemicalEnergyDevice">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="boilerType" lowerBound="1"
eType="#//BoilerType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CombinedHeatPower" eSuperTypes="#//ChemicalEnergyDevice">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="thermalEfficiency" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SolarPanel" eSuperTypes="#//EnergyComponent">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nominalPower" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Inverter" eSuperTypes="#//EnergyComponent">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nominalPower" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Manufacturer">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ChemicalEnergyDevice" abstract="true"
eSuperTypes="#//EnergyComponent">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="installedThermalPower"
lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EnergyComponent" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="modelName" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="revisionYear" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="producedBy" lowerBound="1"
eType="#//Manufacturer"/>
</eClassifiers>
</ecore:EPackage>
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel"
modelDirectory="/demo.catalog/src-gen" creationIcons="false" editDirectory="/demo.catalog.edit/src-gen"
editorDirectory="/demo.catalog.editor/src-gen" modelPluginID="demo.catalog" modelName="democatalog"
rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
operationReflection="true" importOrganizing="true">
<foreignModel>democatalog.ecore</foreignModel>
<testsDirectory xsi:nil="true"/>
<genPackages prefix="democatalog" basePackage="demo.catalog" disposableProviderFactory="true"
ecorePackage="democatalog.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="democatalog.ecore#//BoilerType">
<genEnumLiterals ecoreEnumLiteral="democatalog.ecore#//BoilerType/LowTemperature"/>
<genEnumLiterals ecoreEnumLiteral="democatalog.ecore#//BoilerType/Condensing"/>
</genEnums>
<genClasses ecoreClass="democatalog.ecore#//EnergyComponentsCatalog">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//EnergyComponentsCatalog/author"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference democatalog.ecore#//EnergyComponentsCatalog/boilers"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference democatalog.ecore#//EnergyComponentsCatalog/chps"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference democatalog.ecore#//EnergyComponentsCatalog/solarpanels"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference democatalog.ecore#//EnergyComponentsCatalog/inverters"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference democatalog.ecore#//EnergyComponentsCatalog/manufacturers"/>
</genClasses>
<genClasses ecoreClass="democatalog.ecore#//Boiler">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//Boiler/boilerType"/>
</genClasses>
<genClasses ecoreClass="democatalog.ecore#//CombinedHeatPower">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//CombinedHeatPower/thermalEfficiency"/>
</genClasses>
<genClasses ecoreClass="democatalog.ecore#//SolarPanel">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//SolarPanel/nominalPower"/>
</genClasses>
<genClasses ecoreClass="democatalog.ecore#//Inverter">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//Inverter/nominalPower"/>
</genClasses>
<genClasses ecoreClass="democatalog.ecore#//Manufacturer">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//Manufacturer/name"/>
</genClasses>
<genClasses image="false" ecoreClass="democatalog.ecore#//ChemicalEnergyDevice">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//ChemicalEnergyDevice/installedThermalPower"/>
</genClasses>
<genClasses image="false" ecoreClass="democatalog.ecore#//EnergyComponent">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//EnergyComponent/modelName"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute democatalog.ecore#//EnergyComponent/revisionYear"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference democatalog.ecore#//EnergyComponent/producedBy"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
#
pluginName = demo.catalog
providerName = www.example.org
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
-->
<plugin>
<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated democatalog -->
<package
uri="http://www.example.org/democatalog"
class="demo.catalog.democatalog.democatalogPackage"
genModel="model/democatalog.genmodel"/>
</extension>
</plugin>
/**
*/
package demo.catalog.democatalog;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Boiler</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link demo.catalog.democatalog.Boiler#getBoilerType <em>Boiler Type</em>}</li>
* </ul>
*
* @see demo.catalog.democatalog.democatalogPackage#getBoiler()
* @model
* @generated
*/
public interface Boiler extends ChemicalEnergyDevice {
/**
* Returns the value of the '<em><b>Boiler Type</b></em>' attribute.
* The literals are from the enumeration {@link demo.catalog.democatalog.BoilerType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Boiler Type</em>' attribute.
* @see demo.catalog.democatalog.BoilerType
* @see #setBoilerType(BoilerType)
* @see demo.catalog.democatalog.democatalogPackage#getBoiler_BoilerType()
* @model required="true"
* @generated
*/
BoilerType getBoilerType();
/**
* Sets the value of the '{@link demo.catalog.democatalog.Boiler#getBoilerType <em>Boiler Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Boiler Type</em>' attribute.
* @see demo.catalog.democatalog.BoilerType
* @see #getBoilerType()
* @generated
*/
void setBoilerType(BoilerType value);
} // Boiler
/**
*/
package demo.catalog.democatalog;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.Enumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>Boiler Type</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* @see demo.catalog.democatalog.democatalogPackage#getBoilerType()
* @model
* @generated
*/
public enum BoilerType implements Enumerator {
/**
* The '<em><b>Low Temperature</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #LOW_TEMPERATURE_VALUE
* @generated
* @ordered
*/
LOW_TEMPERATURE(0, "LowTemperature", "LowTemperature"),
/**
* The '<em><b>Condensing</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #CONDENSING_VALUE
* @generated
* @ordered
*/
CONDENSING(1, "Condensing", "Condensing");
/**
* The '<em><b>Low Temperature</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #LOW_TEMPERATURE
* @model name="LowTemperature"
* @generated
* @ordered
*/
public static final int LOW_TEMPERATURE_VALUE = 0;
/**
* The '<em><b>Condensing</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #CONDENSING
* @model name="Condensing"
* @generated
* @ordered
*/
public static final int CONDENSING_VALUE = 1;
/**
* An array of all the '<em><b>Boiler Type</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final BoilerType[] VALUES_ARRAY = new BoilerType[] { LOW_TEMPERATURE, CONDENSING, };
/**
* A public read-only list of all the '<em><b>Boiler Type</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<BoilerType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>Boiler Type</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal the literal.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static BoilerType get(String literal) {
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
BoilerType result = VALUES_ARRAY[i];
if (result.toString().equals(literal)) {
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Boiler Type</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name the name.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static BoilerType getByName(String name) {
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
BoilerType result = VALUES_ARRAY[i];
if (result.getName().equals(name)) {
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Boiler Type</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the integer value.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static BoilerType get(int value) {
switch (value) {
case LOW_TEMPERATURE_VALUE:
return LOW_TEMPERATURE;
case CONDENSING_VALUE:
return CONDENSING;
}
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final int value;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String name;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String literal;
/**
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private BoilerType(int value, String name, String literal) {
this.value = value;
this.name = name;
this.literal = literal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public int getValue() {
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName() {
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getLiteral() {
return literal;
}
/**
* Returns the literal value of the enumerator, which is its string representation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
return literal;
}
} //BoilerType
/**
*/
package demo.catalog.democatalog;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Chemical Energy Device</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link demo.catalog.democatalog.ChemicalEnergyDevice#getInstalledThermalPower <em>Installed Thermal Power</em>}</li>
* </ul>
*
* @see demo.catalog.democatalog.democatalogPackage#getChemicalEnergyDevice()
* @model abstract="true"
* @generated
*/
public interface ChemicalEnergyDevice extends EnergyComponent {
/**
* Returns the value of the '<em><b>Installed Thermal Power</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Installed Thermal Power</em>' attribute.
* @see #setInstalledThermalPower(double)
* @see demo.catalog.democatalog.democatalogPackage#getChemicalEnergyDevice_InstalledThermalPower()
* @model required="true"
* @generated
*/
double getInstalledThermalPower();
/**
* Sets the value of the '{@link demo.catalog.democatalog.ChemicalEnergyDevice#getInstalledThermalPower <em>Installed Thermal Power</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Installed Thermal Power</em>' attribute.
* @see #getInstalledThermalPower()
* @generated
*/
void setInstalledThermalPower(double value);
} // ChemicalEnergyDevice
/**
*/
package demo.catalog.democatalog;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Combined Heat Power</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link demo.catalog.democatalog.CombinedHeatPower#getThermalEfficiency <em>Thermal Efficiency</em>}</li>
* </ul>
*
* @see demo.catalog.democatalog.democatalogPackage#getCombinedHeatPower()
* @model
* @generated
*/
public interface CombinedHeatPower extends ChemicalEnergyDevice {
/**
* Returns the value of the '<em><b>Thermal Efficiency</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Thermal Efficiency</em>' attribute.
* @see #setThermalEfficiency(double)
* @see demo.catalog.democatalog.democatalogPackage#getCombinedHeatPower_ThermalEfficiency()
* @model required="true"
* @generated
*/
double getThermalEfficiency();
/**
* Sets the value of the '{@link demo.catalog.democatalog.CombinedHeatPower#getThermalEfficiency <em>Thermal Efficiency</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Thermal Efficiency</em>' attribute.
* @see #getThermalEfficiency()
* @generated
*/
void setThermalEfficiency(double value);
} // CombinedHeatPower
/**
*/
package demo.catalog.democatalog;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Energy Component</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link demo.catalog.democatalog.EnergyComponent#getModelName <em>Model Name</em>}</li>
* <li>{@link demo.catalog.democatalog.EnergyComponent#getRevisionYear <em>Revision Year</em>}</li>
* <li>{@link demo.catalog.democatalog.EnergyComponent#getProducedBy <em>Produced By</em>}</li>
* </ul>
*
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponent()
* @model abstract="true"
* @generated
*/
public interface EnergyComponent extends EObject {
/**
* Returns the value of the '<em><b>Model Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Model Name</em>' attribute.
* @see #setModelName(String)
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponent_ModelName()
* @model required="true"
* @generated
*/
String getModelName();
/**
* Sets the value of the '{@link demo.catalog.democatalog.EnergyComponent#getModelName <em>Model Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Model Name</em>' attribute.
* @see #getModelName()
* @generated
*/
void setModelName(String value);
/**
* Returns the value of the '<em><b>Revision Year</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Revision Year</em>' attribute.
* @see #setRevisionYear(int)
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponent_RevisionYear()
* @model
* @generated
*/
int getRevisionYear();
/**
* Sets the value of the '{@link demo.catalog.democatalog.EnergyComponent#getRevisionYear <em>Revision Year</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Revision Year</em>' attribute.
* @see #getRevisionYear()
* @generated
*/
void setRevisionYear(int value);
/**
* Returns the value of the '<em><b>Produced By</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Produced By</em>' reference.
* @see #setProducedBy(Manufacturer)
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponent_ProducedBy()
* @model required="true"
* @generated
*/
Manufacturer getProducedBy();
/**
* Sets the value of the '{@link demo.catalog.democatalog.EnergyComponent#getProducedBy <em>Produced By</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Produced By</em>' reference.
* @see #getProducedBy()
* @generated
*/
void setProducedBy(Manufacturer value);
} // EnergyComponent
/**
*/
package demo.catalog.democatalog;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Energy Components Catalog</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link demo.catalog.democatalog.EnergyComponentsCatalog#getAuthor <em>Author</em>}</li>
* <li>{@link demo.catalog.democatalog.EnergyComponentsCatalog#getBoilers <em>Boilers</em>}</li>
* <li>{@link demo.catalog.democatalog.EnergyComponentsCatalog#getChps <em>Chps</em>}</li>
* <li>{@link demo.catalog.democatalog.EnergyComponentsCatalog#getSolarpanels <em>Solarpanels</em>}</li>
* <li>{@link demo.catalog.democatalog.EnergyComponentsCatalog#getInverters <em>Inverters</em>}</li>
* <li>{@link demo.catalog.democatalog.EnergyComponentsCatalog#getManufacturers <em>Manufacturers</em>}</li>
* </ul>
*
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponentsCatalog()
* @model
* @generated
*/
public interface EnergyComponentsCatalog extends EObject {
/**
* Returns the value of the '<em><b>Author</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Author</em>' attribute.
* @see #setAuthor(String)
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponentsCatalog_Author()
* @model required="true"
* @generated
*/
String getAuthor();
/**
* Sets the value of the '{@link demo.catalog.democatalog.EnergyComponentsCatalog#getAuthor <em>Author</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Author</em>' attribute.
* @see #getAuthor()
* @generated
*/
void setAuthor(String value);
/**
* Returns the value of the '<em><b>Boilers</b></em>' containment reference list.
* The list contents are of type {@link demo.catalog.democatalog.Boiler}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Boilers</em>' containment reference list.
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponentsCatalog_Boilers()
* @model containment="true"
* @generated
*/
EList<Boiler> getBoilers();
/**
* Returns the value of the '<em><b>Chps</b></em>' containment reference list.
* The list contents are of type {@link demo.catalog.democatalog.CombinedHeatPower}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Chps</em>' containment reference list.
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponentsCatalog_Chps()
* @model containment="true"
* @generated
*/
EList<CombinedHeatPower> getChps();
/**
* Returns the value of the '<em><b>Solarpanels</b></em>' containment reference list.
* The list contents are of type {@link demo.catalog.democatalog.SolarPanel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Solarpanels</em>' containment reference list.
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponentsCatalog_Solarpanels()
* @model containment="true"
* @generated
*/
EList<SolarPanel> getSolarpanels();
/**
* Returns the value of the '<em><b>Inverters</b></em>' containment reference list.
* The list contents are of type {@link demo.catalog.democatalog.Inverter}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Inverters</em>' containment reference list.
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponentsCatalog_Inverters()
* @model containment="true"
* @generated
*/
EList<Inverter> getInverters();
/**
* Returns the value of the '<em><b>Manufacturers</b></em>' containment reference list.
* The list contents are of type {@link demo.catalog.democatalog.Manufacturer}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Manufacturers</em>' containment reference list.
* @see demo.catalog.democatalog.democatalogPackage#getEnergyComponentsCatalog_Manufacturers()
* @model containment="true"
* @generated
*/
EList<Manufacturer> getManufacturers();
} // EnergyComponentsCatalog
/**
*/
package demo.catalog.democatalog;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Inverter</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link demo.catalog.democatalog.Inverter#getNominalPower <em>Nominal Power</em>}</li>
* </ul>
*
* @see demo.catalog.democatalog.democatalogPackage#getInverter()
* @model
* @generated
*/
public interface Inverter extends EnergyComponent {
/**
* Returns the value of the '<em><b>Nominal Power</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Nominal Power</em>' attribute.
* @see #setNominalPower(double)
* @see demo.catalog.democatalog.democatalogPackage#getInverter_NominalPower()
* @model required="true"
* @generated
*/
double getNominalPower();
/**
* Sets the value of the '{@link demo.catalog.democatalog.Inverter#getNominalPower <em>Nominal Power</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Nominal Power</em>' attribute.
* @see #getNominalPower()
* @generated
*/
void setNominalPower(double value);
} // Inverter
/**
*/
package demo.catalog.democatalog;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Manufacturer</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link demo.catalog.democatalog.Manufacturer#getName <em>Name</em>}</li>
* </ul>
*
* @see demo.catalog.democatalog.democatalogPackage#getManufacturer()
* @model
* @generated
*/
public interface Manufacturer extends EObject {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see demo.catalog.democatalog.democatalogPackage#getManufacturer_Name()
* @model required="true"
* @generated
*/
String getName();
/**
* Sets the value of the '{@link demo.catalog.democatalog.Manufacturer#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
} // Manufacturer
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment