Commands that add, remove, or change domain objects.

The set of all object operations can be classified into two categories, queries and commands. Queries retrieve information from an object without changing the external state of the object. Commands change the state of an object.

There are four general-purpose object maintenance operations that apply to most persistent objects: Create, Read (View), Update, and Delete. All of these are commands except for Read, which is a query. Because Dataman is an object maintenance application, this package supports all three general-purpose object-maintenance commands: {@link gov.va.med.term.access.maint.command.Create Create}, {@link gov.va.med.term.access.maint.command.Update Update}, and {@link gov.va.med.term.access.maint.command.Delete Delete}.

Although commands are the way the user interface layer gets work done, commands are not at all dependent on the user interface layer. The classes in this package should be used to accomplish any change to the system, regardless of how the change is initiated.

The classes in this package differ from the GOF Command pattern in that they are stateless. They are essentially functions encapsulating process policy. Like the GOF Command pattern, they provide an abstract interface to commands, so that commands can be treated polymorphically. (Devil's advocate POV: Dataview does not use these commands polymorphically.)

The {@link gov.va.med.term.access.maint.command.Command Command} interface differs from the Struts Action interface in that it is completely decoupled from the user interface. It operates on objects rather than forms, it does not directly access the servlet request or response, and it does not determine the next processing step. @.maintenance This package is stable.