Similarly to the inheritance hierarchy of DomainType, a Role may inherit another Role in order to define a role hierarchy; this is provided by making a Role a subtype of DomainType. That is, a child Role that extends a parent Role through an ExtendsEdge therefore will provide all Permissions that the parent Role provides.
A Role may also define role-specific attributes by defining DomainAttributes according to the semantics of DomainType. These DomainAttributes subsequently become the profile attributes of the given Role.
An IAML model instance will have one Role with the name of "User", representing the root Role type in an application, and this constraint may be satisfied through model completion. All Role instances in a model instance must inherit this Role. As the default role, this "User" role will contain a DomainAttribute with a name of "email" and a DomainAttribute with a name of "password", representing the e-mail address and user password of a user's profile respectively.
[Role.html]USER
will contain
an InputTextField
for every non- primary
key DomainAttribute
within the Role
defined as a Parameter
to that LoginHandler.
[login-handler]
PROPERTIES_FILE
will populate the 'properties' DomainType
with string- typed
DomainAttributes
for each value in the source properties file.
[file-domain-object]
[from
DomainType]true
if the current element has been generated.