Model Er

This model description is not a real EMF artifact. It was generated by the
org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's
code generator can be extended.
This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.

Package er <http://www.example.org/er>

  Class Entity -> ModellingConcept, EntityConcept
    Reference entityAttributes : Attribute<<0..*>>
    Reference keySet : Key<<0..*>>
    Reference primaryKey : Key

  Class ModellingConcept
    Attribute name : EString<<1..1>>

  Class RelationshipConcept -> ModellingConcept

  Class Attribute -> ModellingConcept
    Reference attributeDomain : AttributeDomain

  Class Domain -> ModellingConcept
    Attribute primitiveDomain : PrimitiveDomain<<1..1>>

  Class Relationship -> RelationshipConcept
    Reference entities : RegularEntity<<2..*>>
    Reference relationshipAttributes : Attribute<<0..*>>

  Class ISA -> RelationshipConcept
    Reference supertype : RegularEntity<<1..1>>
    Reference subtypes : Entity<<2..*>>
    Reference classificationAttribute : Attribute<<1..1>>

  Class Categorisation -> RelationshipConcept
    Reference categorisationEntities : Categories<<1..1>>
    Attribute isPartial : EBoolean<<1..1>>
    Reference categorisedEntity : EntityConcept<<1..1>>

  Class IdentificationDependency -> RelationshipConcept
    Reference weakEntity : Entity<<1..1>>
    Reference regularEntity : RegularEntity<<1..1>>

  Class RegularEntity
    Reference entity : EntityConcept<<1..1>>
    Attribute role : EString
    Attribute min : MinCardinality<<1..1>>
    Attribute max : MaxCardinality<<1..1>>

  Class Categories
    Reference entities : EntityConcept<<2..*>>
    Attribute min : MinCardinality<<1..1>>
    Attribute max : MaxCardinality<<1..1>>

  Class ERModel -> ModellingConcept
    Reference entities : Entity<<0..*>>
    Reference relationships : RelationshipConcept<<0..*>>
    Reference gerunds : Gerund<<0..*>>
    Reference domains : Domain<<0..*>>

  Class EntityConcept

  Class Key -> ModellingConcept
    Reference keyAttributes : Attribute<<1..*>>

  Class Gerund -> EntityConcept
    Reference relationship : Relationship<<1..1>>

  Class AttributeDomain
    Reference domain : Domain<<1..1>>
    Attribute default : EString
    Attribute length : EInt

  Enum MinCardinality
    Literal zero = 0
    Literal one = 1

  Enum MaxCardinality
    Literal one = 1
    Literal many = 2

  Enum PrimitiveDomain
    Literal integer = 0
    Literal string = 1
    Literal real = 2
    Literal boolean = 3
    Literal date = 4
    Literal time = 5
