| /** |
| * |
| * Copyright (c) 2015 - 2017 - 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 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| * Jörg Riegel - ongoing development |
| * |
| */ |
| grammar org.eclipse.osbp.xtext.statemachine.StatemachineDSL with org.eclipse.osbp.xtext.oxtype.OXtype |
| |
| import "http://osbp.eclipse.org/xtext/statemachine/StatemachineDSL" |
| import "http://osbp.eclipse.org/dsl/dto/v1" as dto |
| import "http://osbp.eclipse.org/xtext/functionlibrarydsl/FunctionLibraryDSL" as function |
| import "http://osbp.eclipse.org/xtext/reportdsl/ReportDSL" as report |
| import "http://osbp.eclipse.org/dsl/common/types/v1" as types |
| import "http://www.eclipse.org/emf/2002/Ecore" as ecore |
| |
| FSMModel: |
| importSection=XImportSection? |
| packages+=FSMPackage*; |
| |
| FSMPackage: |
| {FSMPackage} 'package' name=QualifiedName |
| ('{' (statemachines+=FSM)* '}')?; |
| |
| FSM: |
| 'statemachine' name=ID (description?='describedBy' descriptionValue=TRANSLATABLESTRING)? |
| 'initialState' initialState=[FSMState] |
| 'initialEvent' initialEvent=[FSMEvent] |
| ('events' ('{' |
| (events+=FSMEvent)* |
| '}')) |
| ('controls' '{' |
| (controls+=FSMControl)* |
| '}') |
| ('states' '{' |
| (states+=FSMState)* |
| '}'); |
| |
| FSMEvent: |
| 'event' name=ID; |
| |
| FSMState: |
| 'state' name=ID |
| '{' |
| (('entryActions' '{' (conditions+=FSMAction)* '}')? & |
| ('triggers' '{' (triggers+=FSMTrigger)* '}')? & |
| ('identity' identity=FSMOperation)? & |
| ('functionalKeystroke' functionalKeyCode=FSMFunctionalKeyCodes 'sends' functionalKeyEvent=[FSMEvent])? & |
| ('keystroke' '@' keystroke=[FSMControlFieldAttribute] (hasKeyOperation?='and' keyOperation=FSMOperation)?)?) |
| '}'; |
| |
| FSMTrigger: |
| {FSMTrigger} |
| 'trigger' (triggers+=[FSMEvent])* |
| ('guards' '{' (guards+=FSMGuard)* '}')? |
| 'actions' (hasTransition?='transition' transition=[FSMState])? ('{' (actions+=FSMAction)* '}')?; |
| |
| FSMAction: |
| FSMActionPeripheralBlinkRate| |
| FSMActionPeripheralClear| |
| FSMActionPeripheralCreateWindow| |
| FSMActionPeripheralCursorType| |
| FSMActionPeripheralDestroyWindow| |
| FSMActionPeripheralDeviceBrightness| |
| FSMActionPeripheralDisplayBitmap| |
| FSMActionPeripheralLineDisplayText| |
| FSMActionPeripheralLineDisplayTextAt| |
| FSMActionPeripheralInterCharacterWait| |
| FSMActionPeripheralMarqueeFormat| |
| FSMActionPeripheralMarqueeRepeatWait| |
| FSMActionPeripheralMarqueeType| |
| FSMActionPeripheralMarqueeUnitWait| |
| FSMActionPeripheralScroll| |
| FSMActionPeripheralOpenDrawer| |
| FSMActionPeripheralPrintBarcode| |
| FSMActionPeripheralPrintBitmap| |
| FSMActionPeripheralPrintCut| |
| FSMActionPeripheralPrintNormal| |
| FSMActionPeripheralPrintRegisterBitmap| |
| FSMActionPeripheralDisplayRegisterBitmap| |
| FSMActionPeripheralPTOpen| |
| FSMActionPeripheralPTClose| |
| FSMActionPeripheralPTAcknowledge| |
| // FSMActionPeripheralPTPrepaidTopUp| |
| FSMActionPeripheralPTReversal| |
| FSMActionPeripheralPTRegistration| |
| FSMActionPeripheralPTAuthorization| |
| FSMActionPeripheralPrintReport| |
| FSMActionPeripheralDisplayText| |
| FSMActionPeripheralSignatureOpen| |
| FSMActionPeripheralSignatureClose| |
| FSMActionPeripheralSignatureClear| |
| FSMActionPeripheralSignatureCapture| |
| FSMActionPeripheralSignatureIdle| |
| FSMActionPeripheralSignatureLabel| |
| FSMActionPeripheralBeeper| |
| FSMActionPeripheralPlayer| |
| FSMActionPeripheralSound| |
| FSMActionFieldSet| |
| FSMActionFieldFilterToggle| |
| FSMActionFieldRemove| |
| FSMActionItemVisible| |
| FSMActionItemInvisible| |
| FSMActionFieldClear| |
| FSMActionButtonCaption| |
| FSMActionButtonImage| |
| FSMActionDTOFind| |
| FSMActionDTOClear| |
| FSMStorage| |
| FSMActionScheduler| |
| FSMOperation| |
| FSMActionConditionalTransition; |
| // peripherals |
| //lineDisplay |
| FSMActionPeripheralBlinkRate: |
| 'blinkRate' blinkRate=INT '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralClear: |
| 'clearDevice' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralCreateWindow: |
| 'createWindow' |
| 'row' viewportRow=INT |
| 'column' viewportColumn=INT |
| 'height' viewportHeight=INT |
| 'width' viewportWidth=INT |
| 'windowHeight' windowHeight=INT |
| 'windowWidth' windowWidth=INT |
| '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralCursorType: |
| 'cursorType' cursorType=FSMLineDisplayCursorType '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralDestroyWindow: |
| 'destroyWindow' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralDeviceBrightness: |
| 'deviceBrightness' brightness=INT '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralDisplayBitmap: |
| 'displayBitmap' 'id' bitmapId=INT '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralLineDisplayText: |
| 'lineDisplayText' text=FSMActionFieldConcatenation (hasType?='type' |
| textType=FSMLineDisplayTextType)? '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralLineDisplayTextAt: |
| 'lineDisplayTextAt' text=FSMActionFieldConcatenation 'row' row=INT 'column' column=INT (hasType?='type' |
| textType=FSMLineDisplayTextType)? '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralInterCharacterWait: |
| 'interCharacterWait' wait=INT '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralMarqueeFormat: |
| 'marqueeFormat' format=FSMLineDisplayMarqueeFormat '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralMarqueeRepeatWait: |
| 'marqueeRepeatWait' wait=INT '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralMarqueeType: |
| 'marqueeType' marqueeType=FSMLineDisplayMarqueeType '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralMarqueeUnitWait: |
| 'marqueeUnitWait' wait=INT '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralScroll: |
| 'scroll' direction=FSMLineDisplayScrollTextType units=INT '@' |
| device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralOpenDrawer: |
| 'openDrawer' device=[FSMPeripheralDeviceCashDrawer]; |
| |
| FSMActionPeripheralPrintBarcode: |
| 'printBarcode' 'data' data=STRING 'barcodeType' barcodeType=FSMPOSPrinterBarcodeType '@' |
| device=[FSMPeripheralDevicePOSPrinter]; |
| |
| FSMActionPeripheralPrintBitmap: |
| 'printBitmap' 'id' bitmapId=INT '@' device=[FSMPeripheralDevicePOSPrinter]; |
| |
| FSMActionPeripheralShowBitmap: |
| 'showBitmap' 'id' bitmapId=INT '@' device=[FSMPeripheralDeviceLineDisplay]; |
| |
| FSMActionPeripheralPrintCut: |
| 'printCut' 'text' text=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePOSPrinter]; |
| |
| FSMActionPeripheralPrintNormal: |
| 'printNormal' 'text' text=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePOSPrinter]; |
| |
| FSMActionPeripheralPrintRegisterBitmap: |
| 'printerBitmap' 'id' bitmapId=INT 'name' name=STRING '@' device=[FSMPeripheralDevicePOSPrinter]; |
| FSMActionPeripheralDisplayRegisterBitmap: |
| 'displayBitmap' 'id' bitmapId=INT 'name' name=STRING '@' device=[FSMPeripheralDeviceLineDisplay]; |
| FSMActionPeripheralPTOpen: |
| 'paymentOpen' 'host' host=FSMActionFieldConcatenation 'port' port=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePT]; |
| FSMActionPeripheralPTClose: |
| 'paymentClose' '@' device=[FSMPeripheralDevicePT]; |
| FSMActionPeripheralPTAcknowledge: |
| 'paymentAcknowledge' '@' device=[FSMPeripheralDevicePT]; |
| FSMActionPeripheralPTReversal: |
| 'paymentReversal' 'withPassword' password=FSMActionFieldConcatenation 'ofReceipt' receipt=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePT]; |
| FSMActionPeripheralPTRegistration: |
| 'paymentRegistration' 'withPassword' password=FSMActionFieldConcatenation 'configuration' configuration=STRING '@' device=[FSMPeripheralDevicePT]; |
| FSMActionPeripheralPTAuthorization: |
| 'paymentAuthorization' 'ofAmount' amount=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePT]; |
| FSMActionPeripheralPTResponse: |
| 'paymentResponse' 'from' device=[FSMPeripheralDevicePT]; |
| FSMActionPeripheralPrintReport: |
| 'printReport' report=[report::Report] (hasFilter?='from' key=[FSMStorage])?; |
| FSMActionPeripheralDisplayText: |
| 'displayText' text=FSMActionFieldConcatenation '@' device=[FSMPeripheralDeviceDisplay] 'to' attribute=[dto::LDtoAttribute]; |
| FSMActionPeripheralSignatureOpen: |
| 'openSignaturePad' '@' device=[FSMPeripheralDeviceSignature]; |
| FSMActionPeripheralSignatureClose: |
| 'closeSignaturePad' '@' device=[FSMPeripheralDeviceSignature]; |
| FSMActionPeripheralSignatureClear: |
| 'clearSignaturePad' '@' device=[FSMPeripheralDeviceSignature]; |
| FSMActionPeripheralSignatureCapture: |
| 'captureSignaturePad' '@' device=[FSMPeripheralDeviceSignature]; |
| FSMActionPeripheralSignatureIdle: |
| 'idleSignaturePad' '@' device=[FSMPeripheralDeviceSignature]; |
| FSMActionPeripheralSignatureLabel: |
| 'labelSignaturePad' 'okLabel' okLabel=TRANSLATABLESTRING 'clearLabel' clearLabel=TRANSLATABLESTRING 'cancelLabel' cancelLabel=TRANSLATABLESTRING '@' device=[FSMPeripheralDeviceSignature]; |
| FSMSignatureRetrieve: |
| 'retrieveSignature' 'from' device=[FSMPeripheralDeviceSignature]; |
| FSMActionPeripheralBeeper: |
| 'beeper' 'duration' duration=INT 'frequency' frequency=INT; |
| FSMActionPeripheralPlayer: |
| 'player' 'tune' tune=STRING; |
| FSMActionPeripheralSound: |
| 'sound' 'file' name=STRING; |
| |
| // fields |
| FSMActionFieldSource: |
| FSMActionFieldSourceString| |
| FSMActionFieldSourceNumber| |
| FSMActionFieldSourceInteger| |
| FSMActionFieldSourceBoolean| |
| FSMActionFieldSourceEvaluate| |
| FSMActionFieldSourceTranslate| |
| FSMActionFieldGet| |
| FSMFunction| |
| FSMStorageRetrieve| |
| FSMSignatureRetrieve| |
| FSMActionFieldSourceDtoAttribute| |
| FSMActionFieldSourceEvent| |
| FSMActionPeripheralPTResponse; |
| |
| FSMOperation: |
| 'operation' group = [function::FunctionLibraryStatemachineGroup]'.'operation=[function::FunctionLibraryOperation] |
| '(' (first=FSMOperationParameter)? (more+=FSMOperationParameterMore)* ')'; |
| |
| FSMGuard: |
| 'guard' group = [function::FunctionLibraryStatemachineGroup]'.'guard = [function::FunctionLibraryGuard] |
| (hasOnFail?='onFail' 'caption' onFailCaption=TRANSLATABLESTRING |
| 'description' onFailDescription=TRANSLATABLESTRING 'type' onFailType=FSMUserMessageType)?; |
| |
| FSMFunction: |
| 'function' group = [function::FunctionLibraryStatemachineGroup]'.'function=[function::FunctionLibraryFunction] |
| '(' (first=FSMOperationParameter)? (more+=FSMOperationParameterMore)* ')'; |
| |
| FSMStorage: |
| 'store' content=FSMActionFieldConcatenation 'with' key=ID '.' attribute=ID; |
| |
| FSMStorageRetrieve: |
| 'retrieve' 'from' key=ID '.' attribute=ID; |
| |
| FSMActionConditionalTransition: |
| 'transition' transition=[FSMState] guard=FSMGuard '{' (actions+=FSMAction)* '}'; |
| |
| FSMActionFieldSourceString: |
| text=STRING; |
| |
| FSMActionFieldSourceNumber: |
| value=SignedNumber; |
| |
| FSMActionFieldSourceInteger: |
| value=INTEGER; |
| |
| FSMActionFieldSourceBoolean: |
| value=BOOLEAN; |
| |
| FSMActionFieldSourceEvaluate: |
| evaluationtype=FSMEvaluationType; |
| |
| FSMActionFieldSourceEvent: |
| {FSMActionFieldSourceEvent} 'event'; |
| |
| FSMActionFieldSourceTranslate: |
| 'translate' text=TRANSLATABLESTRING; |
| |
| FSMActionFieldSourceDtoAttribute: |
| 'dto' dto=[FSMControlDTOAttribute] '.' attribute=[dto::LDtoInheritedAttribute]; |
| |
| FSMActionFieldSourceMore returns FSMActionFieldSource: |
| FSMActionFieldSourceStringMore | |
| FSMActionFieldSourceNumberMore | |
| FSMActionFieldSourceIntegerMore | |
| FSMActionFieldSourceBooleanMore | |
| FSMActionFieldSourceEvaluateMore | |
| FSMActionFieldSourceTranslateMore | |
| FSMActionFieldGetMore | |
| FSMOperationMore | |
| FSMStorageRetrieveMore | |
| FSMActionFieldSourceDtoAttributeMore; |
| |
| FSMActionFieldSourceStringMore returns FSMActionFieldSourceString: |
| {FSMActionFieldSourceString} '+' text=STRING; |
| |
| FSMActionFieldSourceNumberMore returns FSMActionFieldSourceNumber: |
| {FSMActionFieldSourceNumber} '+' value=SignedNumber; |
| |
| FSMActionFieldSourceIntegerMore returns FSMActionFieldSourceInteger: |
| {FSMActionFieldSourceInteger} '+' value=INTEGER; |
| |
| FSMActionFieldSourceBooleanMore returns FSMActionFieldSourceBoolean: |
| {FSMActionFieldSourceBoolean} '+' value=BOOLEAN; |
| |
| FSMActionFieldSourceEvaluateMore returns FSMActionFieldSourceEvaluate: |
| {FSMActionFieldSourceEvaluate} '+' evaluationtype=FSMEvaluationType; |
| |
| FSMActionFieldSourceTranslateMore returns FSMActionFieldSourceTranslate: |
| {FSMActionFieldSourceTranslate} '+' 'translate' text=TRANSLATABLESTRING; |
| |
| FSMActionFieldGetMore returns FSMActionFieldGet: |
| {FSMActionFieldGet} '+' 'get' attribute=[FSMControlFieldAttribute]; |
| |
| FSMOperationMore returns FSMOperation: |
| {FSMOperation} '+' 'operation' group = [function::FunctionLibraryStatemachineGroup]'.'operation=[function::FunctionLibraryOperation]; |
| |
| FSMStorageRetrieveMore returns FSMStorageRetrieve: |
| {FSMStorageRetrieve} '+' 'retrieve' 'from' key=ID '.' attribute=ID; |
| |
| FSMDotExpression returns FSMRef: |
| FSMDtoRef ({FSMDotExpression.ref=current} "." tail=[types::LFeature])*; |
| |
| FSMDtoRef returns FSMRef: |
| {FSMDtoRef} dto=[FSMControlDTOAttribute]; |
| |
| |
| FSMActionFieldSourceDtoAttributeMore returns FSMActionFieldSourceDtoAttribute: |
| {FSMActionFieldSourceDtoAttribute} '+' 'dto' dto=[FSMControlDTOAttribute] '.' |
| attribute=[dto::LDtoInheritedAttribute]; |
| |
| FSMActionFieldConcatenation: |
| first=FSMActionFieldSource (more+=FSMActionFieldSourceMore)*; |
| |
| FSMOperationParameter: |
| source=FSMActionFieldConcatenation; |
| |
| FSMOperationParameterMore returns FSMOperationParameter: |
| {FSMOperationParameter} ',' source=FSMActionFieldConcatenation; |
| |
| FSMActionFieldSet: |
| 'set' source=FSMActionFieldConcatenation '@' attribute=[FSMControlFieldAttribute]; |
| |
| FSMActionFieldClear: |
| 'clear' attribute=[FSMControlFieldAttribute]; |
| |
| FSMActionFieldGet: |
| 'get' attribute=[FSMControlFieldAttribute]; |
| |
| FSMActionFieldFilterToggle: |
| 'toggle' filter=[FSMControlFilter]; |
| |
| FSMActionFieldRemove: |
| 'remove' attribute=[FSMControlFieldAttribute]; |
| |
| FSMControlVisibility: |
| FSMControlFieldAttribute | |
| FSMControlFieldLayout | |
| FSMControlButtonAttribute | |
| FSMControlButton; |
| |
| FSMActionItemVisible: |
| 'visible' attribute=[FSMControlVisibility]; |
| |
| FSMActionItemInvisible: |
| 'invisible' attribute=[FSMControlVisibility]; |
| |
| // buttons |
| FSMActionButtonCaption: |
| 'caption' caption=FSMActionFieldConcatenation '@' attribute=[FSMControlButtonAttribute]; |
| |
| FSMActionButtonImage: |
| 'image' image=STRING '@' attribute=[FSMControlButtonAttribute]; |
| |
| // dto |
| FSMActionDTOFind: |
| 'search' search=FSMActionFieldConcatenation |
| 'in' dto=[FSMControlDTOAttribute] '.' attribute=[dto::LDtoInheritedAttribute]; |
| |
| FSMActionDTOClear: |
| 'unselect' dto=[FSMControlDTOAttribute]; |
| |
| FSMActionScheduler: |
| 'schedule' scheduler=[FSMControlSchedulerAttribute]; |
| |
| FSMControl: |
| FSMControlButton | FSMControlField | FSMControlDTO | FSMControlScheduler | |
| FSMControlPeripheral; |
| |
| FSMControlButton: |
| 'keypad' name=ID 'event' eventType=FSMControlButtonEventType (hasRange?='from' start=INT 'until' end=INT 'named' rangedName=STRING)? ('{' |
| (buttons+=FSMControlButtonAttribute)* |
| '}')?; |
| |
| FSMControlField: |
| 'fields' name=ID '{' |
| ((fields+=FSMControlFieldAttribute)* & |
| (layouts+=FSMControlFieldLayout)*) |
| '}'; |
| |
| FSMControlDTO: |
| 'dataProvider' name=ID '{' |
| ((dtos+=FSMControlDTOAttribute)* & |
| (filters+=FSMControlFilter)*) |
| '}'; |
| |
| FSMControlScheduler: |
| 'scheduler' name=ID '{' |
| (schedulers+=FSMControlSchedulerAttribute)* |
| '}'; |
| |
| FSMPeripheralDeviceLineDisplay: |
| 'lineDisplay' name=ID; |
| |
| FSMPeripheralDeviceDisplay: |
| 'display' name=ID 'using' output=[FSMControlDTOAttribute]; |
| |
| FSMPeripheralDevicePOSPrinter: |
| 'posPrinter' name=ID; |
| |
| FSMPeripheralDeviceCashDrawer: |
| 'cashDrawer' name=ID; |
| |
| FSMPeripheralDevicePT: |
| 'payment' name=ID; |
| |
| FSMPeripheralDeviceSignature: |
| 'signaturePad' name=ID; |
| |
| FSMControlPeripheral: |
| 'peripheral' name=ID '{' |
| ((lineDisplays+=FSMPeripheralDeviceLineDisplay)* & |
| (displays+=FSMPeripheralDeviceDisplay)* & |
| (posPrinters+=FSMPeripheralDevicePOSPrinter)* & |
| (cashDrawers+=FSMPeripheralDeviceCashDrawer)* & |
| (paymentTerminals+=FSMPeripheralDevicePT)* & |
| (signaturePads+=FSMPeripheralDeviceSignature)*) |
| '}'; |
| |
| FSMControlButtonAttribute: |
| 'button' name=TRANSLATABLEID |
| (hasImage?='image' image=STRING)? |
| event=FSMControlButtonAttributeEvent; |
| |
| FSMControlButtonAttributeEvent: |
| FSMControlButtonAttributeEventKeyboard | |
| FSMControlButtonAttributeEventIdentity | |
| FSMControlButtonAttributeEventEvent; |
| |
| FSMControlButtonAttributeEventKeyboard: |
| {FSMControlButtonAttributeEventKeyboard} 'key' keystroke=STRING; |
| |
| FSMControlButtonAttributeEventIdentity: |
| {FSMControlButtonAttributeEventIdentity} 'id' identity=INT; |
| |
| FSMControlButtonAttributeEventEvent: |
| {FSMControlButtonAttributeEventEvent} 'event' event=[FSMEvent]; |
| |
| FSMControlFieldAttribute: |
| 'field' name=TRANSLATABLEID |
| 'type' attributeType=FSMFieldType; |
| |
| FSMControlFieldLayout: |
| 'layout' name=ID; |
| |
| FSMControlDTOAttribute: |
| 'dto' name=ID |
| 'type' attributeType=FSMDTOType |
| ((hasEvent?='event' event=[FSMEvent])? & |
| (isAttached?='attach' display=[FSMPeripheralDeviceDisplay])?); |
| |
| FSMControlSchedulerAttribute: |
| 'scheduler' name=ID |
| 'delay' delay=INT |
| 'send' event=[FSMEvent]; |
| |
| FSMDTOType: |
| attributeType=[dto::LDto]; |
| |
| FSMFieldType: |
| attributeType=FSMInternalType; |
| |
| FSMControlFilter: |
| 'filter' name=ID filter=FSMFilter; |
| |
| FSMFilterProperty: |
| 'path' path=FSMDotExpression; |
| |
| FSMFilter: |
| {FSMFilter} source=FSMAbstractFilter; |
| |
| FSMAbstractFilter: |
| FSMAndFilter| |
| FSMOrFilter| |
| FSMCompareFilter| |
| FSMBetweenFilter| |
| FSMIsNullFilter| |
| FSMLikeFilter| |
| FSMNotFilter| |
| FSMStringFilter; |
| |
| FSMFilterMore returns FSMFilter: |
| {FSMFilter} ',' source=FSMAbstractFilter; |
| |
| FSMAndFilter: |
| {FSMAndFilter} |
| 'and' '(' (first=FSMFilter)? (more+=FSMFilterMore)* ')'; |
| |
| FSMOrFilter: |
| {FSMOrFilter} |
| 'or' '(' (first=FSMFilter)? (more+=FSMFilterMore)* ')'; |
| |
| FSMCompareFilter: |
| {FSMCompareFilter} |
| operation=FSMCompareOperationEnum '(' propertyId=FSMFilterProperty ',' operand=FSMActionFieldSource ')'; |
| |
| FSMBetweenFilter: |
| {FSMBetweenFilter} |
| 'isBetween' '(' propertyId=FSMFilterProperty ',' start=FSMActionFieldSource ',' end=FSMActionFieldSource ')'; |
| |
| FSMIsNullFilter: |
| {FSMIsNullFilter} |
| 'isNull' '(' propertyId=FSMFilterProperty ')'; |
| |
| FSMLikeFilter: |
| {FSMLikeFilter} |
| 'isLike' '(' propertyId=FSMFilterProperty ',' value=FSMActionFieldSource (ignoreCase?='ignoreCase')? ')'; |
| |
| FSMNotFilter: |
| {FSMNotFilter} |
| 'not' '(' filter=FSMFilter ')'; |
| |
| FSMStringFilter: |
| {FSMStringFilter} |
| 'matches' '(' propertyId=FSMFilterProperty ',' filterString=STRING (ignoreCase?='ignoreCase')? (onlyMatchPrefix?='onlyMatchPrefix')? ')'; |
| |
| enum FSMInternalType: |
| BOOLEAN='Boolean' | |
| INTEGER='Integer' | |
| LONG='Long' | |
| DOUBLE='Double' | |
| STRING='String' | |
| DATE='Date' | |
| SUGGESTTEXT='SuggestText' | |
| EMBEDDABLEEVENT='EmbeddableEvent'; |
| |
| enum FSMControlButtonEventType: |
| KEYBOARD='keyboard' | |
| TRIGGER='trigger' | |
| IDENTITY='identity'; |
| |
| enum FSMCompareOperationEnum: |
| EQUAL = 'equal'| |
| GREATER = 'greater'| |
| LESS = 'less'| |
| GREATER_OR_EQUAL = 'greaterOrEqual'| |
| LESS_OR_EQUAL = 'lessOrEqual'; |
| |
| enum FSMEvaluationType: |
| IP_ADDRESS = 'getIPAddress'| |
| HOSTNAME = 'getHostName' | |
| NOW = 'getNow'| |
| USER_AGENT_INFO = 'getUserAgentInfo'| |
| IS_TOUCH_DEVICE = 'isTouchDevice'| |
| IS_HTTPS = 'isHttps'| |
| BROWSER_LOCALE = 'getBrowserLocale'| |
| USER_NAME = 'getUserName'| |
| USER_PASSWORD = 'getUserPassword'| |
| USER_EMAIL = 'getUserEmail'| |
| USER_POSITION = 'getUserPosition'| |
| USER_PRTSERVICE = 'getUserPrintService'| |
| SCREEN_WIDTH = 'getSceenWidth'| |
| SCREEN_HEIGHT = 'getScreenHeight'| |
| TRIGGER = 'getTrigger'; |
| |
| enum FSMUserMessageType: |
| HUMANIZED_MESSAGE='humanized' | |
| WARNING_MESSAGE='warning' | |
| ERROR_MESSAGE='error' | |
| TRAY_NOTIFICATION='tray' | |
| ASSISTIVE_NOTIFICATION='assistive'; |
| |
| enum FSMLineDisplayCursorType: |
| DISP_CT_NONE='none' | |
| DISP_CT_FIXED='fixed' | |
| DISP_CT_BLOCK='block' | |
| DISP_CT_HALFBLOCK='halfblock' | |
| DISP_CT_UNDERLINE='underline' | |
| DISP_CT_REVERSE='reverse' | |
| DISP_CT_OTHER='other' | |
| DISP_CT_BLINK='blink'; |
| |
| enum FSMLineDisplayMarqueeType: |
| DISP_MT_NONE='none' | |
| DISP_MT_UP='up' | |
| DISP_MT_DOWN='down' | |
| DISP_MT_LEFT='left' | |
| DISP_MT_RIGHT='right' | |
| DISP_MT_INIT='init'; |
| |
| enum FSMLineDisplayMarqueeFormat: |
| DISP_MF_WALK='walk' | |
| DISP_MF_PLACE='place'; |
| |
| enum FSMLineDisplayTextType: |
| DISP_DT_NORMAL='normal' | |
| DISP_DT_BLINK='blink' | |
| DISP_DT_REVERSE='reverse' | |
| DISP_DT_BLINK_REVERSE='blinkreverse'; |
| |
| enum FSMLineDisplayScrollTextType: |
| DISP_ST_UP='up' | |
| DISP_ST_DOWN='down' | |
| DISP_ST_LEFT='left' | |
| DISP_ST_RIGHT='right'; |
| |
| enum FSMPOSPrinterBarcodeType: |
| PTR_BCS_UPCA='upca' | |
| PTR_BCS_UPCE='upcb' | |
| PTR_BCS_JAN8='jan8' | |
| PTR_BCS_EAN8='ean8' | |
| PTR_BCS_JAN13='jan13' | |
| PTR_BCS_EAN13='ean13' | |
| PTR_BCS_TF='tf' | |
| PTR_BCS_ITF='itf' | |
| PTR_BCS_Codabar='codeabar' | |
| PTR_BCS_Code39='code39' | |
| PTR_BCS_Code93='code93' | |
| PTR_BCS_Code128='code128' | |
| PTR_BCS_UPCA_S='upca_s' | |
| PTR_BCS_UPCE_S='upce_s' | |
| PTR_BCS_UPCD1='upcd1' | |
| PTR_BCS_UPCD2='upcd2' | |
| PTR_BCS_UPCD3='upcd3' | |
| PTR_BCS_UPCD4='upcd4' | |
| PTR_BCS_UPCD5='upcd5' | |
| PTR_BCS_EAN8_S='ean8_s' | |
| PTR_BCS_EAN13_S='ean13_s' | |
| PTR_BCS_EAN128='ean128' | |
| PTR_BCS_OCRA='orca' | |
| PTR_BCS_OCRB='ocrb' | |
| PTR_BCS_Code128_Parsed='code128_parsed' | |
| PTR_BCS_GS1DATABAR='gs1databar' | |
| PTR_BCS_GS1DATABAR_E='gs1databar_e' | |
| PTR_BCS_GS1DATABAR_S='gs1databar_s' | |
| PTR_BCS_GS1DATABAR_E_S='gs1databar_e_s' | |
| PTR_BCS_PDF417='pdf417' | |
| PTR_BCS_MAXICODE='maxicode' | |
| PTR_BCS_DATAMATRIX='datamatrix' | |
| PTR_BCS_QRCODE='qrcode' | |
| PTR_BCS_UQRCODE='uqrcode' | |
| PTR_BCS_AZTEC='aztec' | |
| PTR_BCS_UPDF417='updf417'; |
| |
| enum FSMFunctionalKeyCodes: |
| BACKSPACE = 'backspaceKey' | |
| TAB = 'tabKey' | |
| ENTER = 'enterKey' | |
| ESC = 'escKey' | |
| PGUP = 'pgupKey' | |
| PGDOWN = 'pgdownKey' | |
| END = 'endKey' | |
| HOME = 'homeKey' | |
| LEFTARROW = 'leftarrowKey' | |
| UPARROW = 'uparrowKey' | |
| RIGHTARROW = 'rightarrowKey' | |
| DOWNARROW = 'downarrowKey' | |
| INSERT = 'insertKey' | |
| DELETE = 'deleteKey' | |
| F1 = 'f1' | |
| F2 = 'f2' | |
| F3 = 'f3' | |
| F4 = 'f4' | |
| F5 = 'f5' | |
| F6 = 'f6' | |
| F7 = 'f7' | |
| F8 = 'f8' | |
| F9 = 'f9' | |
| F10 = 'f10'| |
| F11 = 'f11'| |
| F12 = 'f12'; |
| |
| TRANSLATABLESTRING: |
| STRING; |
| |
| TRANSLATABLEID: |
| ID; |
| |
| SignedNumber returns ecore::EDouble: |
| ('-')? UnsignedNumber; |
| |
| UnsignedNumber returns ecore::EDouble: |
| INT '.' (INT); |
| |
| INTEGER returns ecore::EInt: ('-')? INT; |
| |
| BOOLEAN returns ecore::EBoolean: 'true'|'false'; |