blob: af0377786a98d2ea48c466e0478e44b6378e2881 [file] [log] [blame]
@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'
}