Non-persisted Objects

The ViewModel interface can be implemented by a view model domain object to provide full control over its serialization to and from a memento.

There is a more in-depth discussion on view models in the user guide and the user guide overview.

The very similar RecreatableDomainObject also provides the same capability; the distinction is simply that the latter makes more sense for domain objects that conceptually are entities but are not to be persisted by JDO or JPA.