| @GenModel(fileExtensions="service", modelDirectory= "/org.eclipse.osbp.dsl.services.xtext/src-gen", editDirectory="/org.eclipse.osbp.dsl.services.xtext.edit/src", childCreationExtenders="true") |
| @GenModel(modelName="Service") |
| @GenModel(prefix="OSBPService") |
| @GenModel(suppressEMFModelTags="true") |
| @GenModel(runtimeVersion="2.9") |
| @GenModel(copyrightText="Copyright (c) 2011, 2016 - Lunifera GmbH (Wien), Loetz GmbH&Co.KG (Heidelberg) |
| 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 |
| |
| Based on ideas from Xtext, Xtend, Xcore |
| |
| Contributors: |
| Florian Pirchner - Initial implementation |
| ") |
| @GenModel(operationReflection="false") |
| @Ecore(nsURI="http://osbp.eclipse.org/dsl/services/v1") |
| @Ecore(nsPrefix="services") |
| @Ecore(rootPackage="services") |
| package org.eclipse.osbp.dsl.semantic.service |
| |
| import org.eclipse.xtext.common.types.JvmTypeReference |
| import org.eclipse.osbp.dsl.semantic.common.types.LClass |
| import org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver |
| import org.eclipse.osbp.dsl.semantic.common.types.LTypedPackage |
| import org.eclipse.osbp.dsl.semantic.dto.LDto |
| import org.eclipse.osbp.dsl.semantic.dto.LDtoFeature |
| |
| class LServiceModel extends LLazyResolver { |
| contains LTypedPackage[] packages |
| } |
| |
| abstract class LService extends LClass { |
| contains LInjectedServices injectedServices |
| contains LServiceOperation[*] operations |
| } |
| |
| class LInjectedServices extends LLazyResolver { |
| contains LInjectedService[*] services |
| } |
| |
| class LInjectedService extends LLazyResolver { |
| LCardinality cardinality |
| String attributeName |
| contains JvmTypeReference service |
| } |
| |
| class LDTOService extends LService { |
| refers LDto dto |
| contains transient JvmTypeReference dtoJvm |
| boolean mutablePersistenceId |
| String persistenceId |
| contains LValidator[*] validators |
| contains LFilterableAttributes filterable opposite parent |
| contains LSortableAttributes sortable opposite parent |
| } |
| |
| class LValidator extends LLazyResolver { |
| String validatorId |
| contains JvmTypeReference validatorType |
| } |
| |
| class LFilterableAttributes extends LLazyResolver { |
| refers LDTOService parent opposite filterable |
| refers LDtoFeature[*] filterableFeatures |
| } |
| |
| class LSortableAttributes extends LLazyResolver { |
| refers LDTOService parent opposite sortable |
| refers LDtoFeature[*] sortableFeatures |
| } |
| |
| class LChartService extends LService { |
| } |
| |
| class LFreeService extends LService { |
| } |
| |
| enum LCardinality { |
| ZERO_TO_ONE |
| , ONE_TO_ONE |
| , ZERO_TO_MANY |
| , ONE_TO_MANY |
| } |
| |
| class LServiceOperation extends org.eclipse.osbp.dsl.semantic.common.types.LOperation, LDtoFeature { |
| } |