The Type Template

An IterableEntity or Iterable2Entity have only one member parameter, which is the collection of modddels. For example, a 'BookList' ListEntity will have one member parameter List<Book> books.

The TypeTemplate is the template that the type of the member parameter should match. Every IterableEntity/Iterable2Entity kind has a type template (See the tables in the previous page).

For example, the type template of a MapEntity (which is an Iterable2Entity) is 'Map<#1,#2>' :

  • #1 and #2 are masks. #1 matches the first modddel type of the MapEntity, and #2 matches the second modddel type.

  • So this type template would match for example : Map<Username, Password>.

Let's take another example : the type template of a MappedValuesEntity (which is an IterableEntity) is Map<*,#1> :

  • The * is a wildcard : it matches any type argument.

  • The #1 is a mask : it matches the modddel type of the MappedValuesEntity.

  • So this type template would match for example : Map<int, Person> and Map<String, Person>.