blob: 730d18281d0451ca6fd4b754d7ce4e27b793d7a6 [file] [log] [blame]
@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 {
}