Slide 27
Slide 27 text
<>
PartyRole
<> name: String
<> description: String
getParty(): Party
getIdentifier(): PartyRoleIdentifier
<> getName(): String
<> getDescription(): String
<> getRoleType(): PartyRoleType
...
<< archetype >>
Party
0..*
0..*
1
<>
PartyRoleType
name: String
description: String
canPlayRole (party: Party): Boolean
<> canPlayRole (party: Party, context: RuleContext): Boolean
<> getConstraints(): PartyRoleConstraint[]
...
supplier
0..* 1
<>
PartyRelationship
<> name: String
<> description: String
getClientPartyRole(): PartyRole
getSupplierPartyRole(): PartyRole
<> getName(): String
<> getDescription(): String
<> getRelationshipType(): PartyRelationshipType
<>
PartyRelationshipType
name: String
description: String
canFormRelationship (client: PartyRole, supplier: PartyRole): Boolean
<> canFormRelationship (client: PartyRole, supplier: PartyRole, context: RuleContext): Boolean
<> getConstraints(): PartyRelationshipConstraint
client 1 1
0..*
roleType
<>
0..* 1
relationshipType
<>
<< archetype >>
PartyRoleConstraint
<>
1
1..*
validTypesOfParty
<< archetype >>
PartyRelationshipConstraint
1..*
1
<>
validRolePairs