| @GenModel(fileExtensions="signal") |
| @GenModel(modelName="SignalDSL") |
| @GenModel(prefix="SignalDSL") |
| // force bigModel == false |
| @GenModel(loadInitialization="false") |
| @GenModel(literalsInterface="true") |
| |
| @GenModel(copyrightText="Copyright (c) 2011, 2018 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| 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: |
| Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| |
| generated from SignalDSL.xcore |
| |
| ") |
| @GenModel(updateClasspath="false") |
| @Ecore(nsURI="http://osbp.eclipse.org/xtext/signal/SignalDSL") |
| @Ecore(nsPrefix="signaldsl") |
| @Ecore(rootPackage="signaldsl") |
| package org.eclipse.osbp.xtext.signal |
| |
| import org.eclipse.emf.ecore.EObject |
| import org.eclipse.emf.ecore.InternalEObject |
| import org.eclipse.osbp.dsl.semantic.common.types.LPackage |
| import org.eclipse.osbp.xtext.datainterchange.DataInterchange |
| import org.eclipse.osbp.xtext.oxtype.resource.EcoreUtil3 |
| import org.eclipse.xtext.xtype.XImportSection |
| |
| class SignalModel{ |
| contains XImportSection importSection |
| contains SignalPackage[] packages |
| } |
| |
| type InternalEObject wraps InternalEObject |
| |
| class SignalLazyResolver { |
| op EObject eResolveProxy(InternalEObject proxy) { |
| return EcoreUtil3.resolve(proxy, this.eResource().resourceSet); |
| } |
| } |
| |
| class SignalPackage extends LPackage { |
| contains SignalWatcher[] watchers |
| contains SignalHandler[] handlers |
| } |
| |
| class SignalBase extends SignalLazyResolver{ |
| String name |
| } |
| |
| class SignalWatcher extends SignalBase { |
| String directory |
| SignalTypeEnum signal |
| } |
| |
| class SignalHandler extends SignalLazyResolver { |
| refers SignalWatcher watcher |
| contains SignalHandling handler |
| contains SignalNotification notification |
| } |
| |
| class SignalHandling extends SignalLazyResolver { |
| SignalHandlerTypeEnum actionType |
| refers DataInterchange dataRef |
| // contains SignalProcessor processor |
| } |
| |
| interface SignalProcessor extends SignalLazyResolver {} |
| |
| class SignalDatainterchange extends SignalProcessor { |
| refers DataInterchange dataRef |
| } |
| |
| class SignalNotification extends SignalBase { |
| SignalNotificationEnum event |
| String message |
| } |
| |
| enum SignalHandlerTypeEnum { |
| doAfter as 'doAfter' |
| doBefore as 'doBefore' |
| doAfterModify as 'doAfterModify' |
| doAfterCreate as 'doAfterCreate' |
| doAfterDelete as 'doAfterDelete' |
| doBeforeModify as 'doBeforeModify' |
| doBeforeCreate as 'doBeforeCreate' |
| doDeforeDelete as 'doBeforedelete' |
| } |
| |
| enum SignalNotificationEnum { |
| showOnAll as 'show' |
| showOnCreate as 'showOnCreate' |
| showOnDelete as 'showOnDelete' |
| showOnModify as 'showOnModify' |
| } |
| |
| enum SignalTypeEnum{ |
| all as 'all' |
| createsignals as 'createSignals' |
| deletesignals as 'modifySignals' |
| modifysignals as 'deleteSignals' |
| } |
| |
| |
| enum SignalActionEnum { |
| DATAIMPORT as 'dataimport' |
| PDFPRINT as 'pdfprint' |
| PRINT as 'print' |
| MAIL as 'mail' |
| MESSAGEPROMPT as 'showinfo' |
| NONE as 'none' |
| } |
| |
| enum FileMaskEnum { |
| fileImport as '_imp' |
| pdfFile as '_pdf' |
| filePrint as '_prt' |
| message as '_sd' |
| } |