Fork me on GitHub

The DeveloperUtilitiesService service provides a number of development-time utilities, mostly related to accessing/interacting with the Isis metamodel. These are visible in the UI, either as menu actions or as contributed actions. All actions are annotated with @Prototype, so are suppressed in production mode.

API

The API defined by DeveloperUtilitiesService (some annotations omitted) is:

public interface DeveloperUtilitiesService {

    public Clob downloadMetaModel();

    public Blob downloadLayouts();

    public void refreshServices();

    @NotInServiceMenu
    public Clob downloadLayout(Object domainObject);

    @Deprecated // as of 1.4.0
    @Hidden     // as of 1.4.0
    @NotInServiceMenu
    public Object refreshLayout(Object domainObject);
}

where:

The refreshLayout() (which rebuild the Isis metamodel of the current object so that the UI refreshes) has been deprecated and hidden; the Wicket viewer) (when running in prototype mode) now automatically does this does this.

Implementations

The core framework provides a default implementation of this API:

Register the Service

The service is registered, like any other, in isis.properties:

isis.services=...,\
              org.apache.isis.core.metamodel.services.devutils.DeveloperUtilitiesServiceDefault,\
              ...