E213 Bidirectional Association in Traits
[Previous]  [Next] 
|
User Manual [Previous]  [Next] E213 Bidirectional Association in TraitsUmple semantic error related to having bidirectional association with interfacesTraits can make associations with interfaces, classes, and template parameters. If one end of the association is a template parameter, the binding type must be checked to make sure it is compatible with the type of the association. For example, if a trait has a bidirectional association with a template parameter, the binding value cannot be an interface and it must be a class. Breaking this constraint is reported to modelers using this error code. Example// In this example, there is an error // because a bidirectional association // is created with interface I, // which is not valid. interface I { /*implementation*/ } trait T <RelatedClass> { 0..1 -- * RelatedClass; /*implementation*/ } class C{ isA T<RelatedClass=I>; /*implementation*/ } Load the above code into UmpleOnline |