Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [XCORE] Meaning of the command Contains resolving
[XCORE] Meaning of the command Contains resolving [message #1272393] Mon, 17 March 2014 20:23 Go to next message
Simone Di Cola is currently offline Simone Di ColaFriend
Messages: 60
Registered: February 2014
Member
Hi all,
looking at the spray tutorial (https://spray.ci.cloudbees.com/job/spray-docs-build/lastSuccessfulBuild/artifact/docs/org.eclipselabs.spray.doc.user/docs/html/SprayUserGuide.html) a sample xcore model is shown.
I've notice that it uses for some class the commands "contains resolving". Can please someone tell me what it means, and how it is used?

Below the complete xcore code:

@Ecore(nsPrefix="busmod", nsURI="http://www.mod4j.org/busmod")
@GenModel(editDirectory="/org.mod4j.dsl.businessdomain.mm.edit/src", editorDirectory="/org.mod4j.dsl.businessdomain.mm.editor/src",
importerID="org.eclipse.emf.importer.ecore", complianceLevel="5.0", interfaceNamePattern="{0}", classNamePattern="")
package BusinessDomainDsl
 
class BusinessDomainModel extends ModelElement
{
	contains resolving AbstractType [] types opposite model
	contains resolving unordered Association [] associations opposite model
}
 
class BusinessClass extends AbstractBusinessClass
{
	contains resolving AbstractBusinessRule [] businessRules opposite businessClass
	refers BusinessClass superclass
	refers Association [] associationsTo opposite source
}
 
class StringProperty extends Property
{
	String regularExpression
	int minLength = "-1"
	int maxLength = "-1"
	String defaultValue
}
 
class BusinessRule extends AbstractBusinessRule
{
}
 
class Association extends ModelElement
{
	refers BusinessClass [1] source opposite associationsTo
	refers AbstractBusinessClass [1] target opposite associationsFrom
	String sourceRoleName = "sourceRoleName"
	Multiplicity sourceMultiplicity = "One"
	String targetRoleName = "targetRoleName"
	Multiplicity targetMultiplicity = "1"
	boolean composite = "false"
	boolean [1] bidirectional = "false"
	boolean [1] ordered = "false"
	container resolving BusinessDomainModel model opposite associations
}
 
abstract class ModelElement
{
	String name = ""
	String description = ""
}
 
abstract class AbstractType extends ModelElement
{
	contains resolving Property [] properties opposite owningType
	container resolving BusinessDomainModel model opposite types
}
 
abstract class AbstractBusinessClass extends AbstractType
{
	refers Association [] associationsFrom opposite target
}
 
abstract class AbstractBusinessRule extends ModelElement
{
	container resolving BusinessClass businessClass opposite businessRules
}
 
abstract class Property extends ModelElement
{
	String dataType
	boolean nullable
	boolean ^derived = "false"
	boolean writable = "false"
	PersistencyMode persistency = "ReadWrite"
	boolean hasDefault = "false"
	container resolving AbstractType owningType opposite properties
}
 
enum Multiplicity
{
	ZeroMany
	One = 1
	ZeroOne = 2
	OneMany = 3
}
 
enum PersistencyMode
{
	ReadWrite
	Read
	None
}



Re: [XCORE] Meaning of the command Contains resolving [message #1272400 is a reply to message #1272393] Mon, 17 March 2014 20:43 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33141
Registered: July 2009
Senior Member
Simone,

Comments below.

On 17/03/2014 1:23 PM, Simone Di Cola wrote:
> Hi all, looking at the spray tutorial
> (https://spray.ci.cloudbees.com/job/spray-docs-build/lastSuccessfulBuild/artifact/docs/org.eclipselabs.spray.doc.user/docs/html/SprayUserGuide.html)
> a sample xcore model is shown. I've notice that it uses for some class
> the commands "contains resolving". Can please someone tell me what it
> means, and how it is used?
This ensures that EReference.resolveProxies will be true (verses the
default false). For cross references, the default is true, and the
keyword "local" is used to ensure it's set to false.
> Below the complete xcore code:
>
>
> @Ecore(nsPrefix="busmod", nsURI="http://www.mod4j.org/busmod")
> @GenModel(editDirectory="/org.mod4j.dsl.businessdomain.mm.edit/src",
> editorDirectory="/org.mod4j.dsl.businessdomain.mm.editor/src",
> importerID="org.eclipse.emf.importer.ecore", complianceLevel="5.0",
> interfaceNamePattern="{0}", classNamePattern="")
> package BusinessDomainDsl
>
> class BusinessDomainModel extends ModelElement
> {
> contains resolving AbstractType [] types opposite model
> contains resolving unordered Association [] associations opposite
> model
> }
>
> class BusinessClass extends AbstractBusinessClass
> {
> contains resolving AbstractBusinessRule [] businessRules opposite
> businessClass
> refers BusinessClass superclass
> refers Association [] associationsTo opposite source
> }
>
> class StringProperty extends Property
> {
> String regularExpression
> int minLength = "-1"
> int maxLength = "-1"
> String defaultValue
> }
>
> class BusinessRule extends AbstractBusinessRule
> {
> }
>
> class Association extends ModelElement
> {
> refers BusinessClass [1] source opposite associationsTo
> refers AbstractBusinessClass [1] target opposite associationsFrom
> String sourceRoleName = "sourceRoleName"
> Multiplicity sourceMultiplicity = "One"
> String targetRoleName = "targetRoleName"
> Multiplicity targetMultiplicity = "1"
> boolean composite = "false"
> boolean [1] bidirectional = "false"
> boolean [1] ordered = "false"
> container resolving BusinessDomainModel model opposite associations
> }
>
> abstract class ModelElement
> {
> String name = ""
> String description = ""
> }
>
> abstract class AbstractType extends ModelElement
> {
> contains resolving Property [] properties opposite owningType
> container resolving BusinessDomainModel model opposite types
> }
>
> abstract class AbstractBusinessClass extends AbstractType
> {
> refers Association [] associationsFrom opposite target
> }
>
> abstract class AbstractBusinessRule extends ModelElement
> {
> container resolving BusinessClass businessClass opposite
> businessRules
> }
>
> abstract class Property extends ModelElement
> {
> String dataType
> boolean nullable
> boolean ^derived = "false"
> boolean writable = "false"
> PersistencyMode persistency = "ReadWrite"
> boolean hasDefault = "false"
> container resolving AbstractType owningType opposite properties
> }
>
> enum Multiplicity
> {
> ZeroMany
> One = 1
> ZeroOne = 2
> OneMany = 3
> }
>
> enum PersistencyMode
> {
> ReadWrite
> Read
> None
> }
>
>
>
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Previous Topic:Problem in resolving proxies
Next Topic:[XCORE] How to define a non cross reference
Goto Forum:
  


Current Time: Fri Apr 26 03:00:42 GMT 2024

Powered by FUDForum. Page generated in 0.03274 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top