Names

The named() element explicitly specifies the domain object’s name, overriding the name that would normally be inferred from the Java source code.

We recommend that you only use this element when the desired name cannot be used in Java source code. Examples of that include a name that would be a reserved Java keyword (eg "package"), or a name that has punctuation, eg apostrophes.

For example:

@DomainObjectLayout(
   named="Customer"
)
public class CustomerImpl implements Customer{
   // ...
}

Plural form

When Apache Causeway displays a standalone collection of several objects, it will label the collection using the plural form of the object type. By default the plural name will be derived from the end of the singular name, with support for some basic English language defaults (eg using "ies" for names ending with a "y").

For irregular plurals it’s possible to specify a plural form using the plural element.

For example:

@DomainObjectLayout(plural="Children")
public class Child {
    // ...
}

i18n

The framework also provides a separate, powerful mechanism for internationalization.