Editing
The editing() element determines whether a domain object’s properties and collections are not editable (are read-only).
The default is AS_CONFIGURED, meaning that the causeway.applib.annotation.domain-object.editing
configuration property is used to determine the whether the object is modifiable:
-
truethe object’s properties and collections are modifiable.
-
falsethe object’s properties and collections are read-only, ie not modifiable.
If there is no configuration property in application.properties then object are assumed to be modifiable.
|
In other words, editing can be disabled globally by setting the causeway.applib.adoc#causeway.applib.annotation.domain-object.editing configuration property:
We recommend this setting; it will help drive out the underlying business operations (processes and procedures) that require objects to change; these can then be captured as business actions. |
This default can be overridden on an object-by-object basis; if editing() is set to ENABLED then the object’s properties and collections are editable irrespective of the configured value; if set to DISABLED then the object’s properties and collections are not editable irrespective of the configured value.
For example:
@DomainObject(
editing=Editing.DISABLED,
editingDisabledReason="Reference data, so cannot be modified"
)
public class Country {
...
}