To make a model easier to understand, it is often useful to be able to associate the same color with a set of entities from the same functional sub-domain.
Akwatype lets you define sub-models that group together entities to which a color can be assigned.
In a façade description file, they are introduced by the keyword subModel followed by the name of the sub-model and the properties between { }
subModel CourseColor { customColor: "#badc58,darkgray" facades: [Course,Book,Author,Subject,CourseCategory] }
SubModel properties
- customColor (String)
- Allows you to give a custom color to all entities associated with this sub-model, eg. "#C9A9A9,#543894" ("background,font")
- You can use the hexadecimal color code eg. #FF5000 or the standard HTML color name
- facades (String)
- List of facades (type or facade) associated to the submodel
- label (String)
- short description of the subModel
- description (String)
- Longer description of the subModel
- comment (String)
- Longer description of the subModel
Color display in the editor and use of the color picker make color management easier in Akwatype
Color propagation
If a color is defined on a Type, all facades defined on this Type will inherit this color.
It is of course possible to override this inherited color by specifically associating the facade with another subModel
Example :
types
type Person{ name:String firstName:String socialSecurityNumber: String address:Address }
type Address{ createdDate:Date updatedDate:Date street : String zipCode:String city:String country:String }
facades and subModel
facade ShortPerson on Person{ name address::ShortAddress }
facade ShortAddress on Address{ city country }
subModel PersonalInformation { customColor: "yellowgreen,white" facades: [Person,Address] }
subModel AdressFacade { customColor: "#7AF0ED,drakGray" facades: [ShortAddress] }
Graph :