Visibility (enum)

Specifies which elements of the metamodel are included within the generated swagger spec.

API

Visibility.java
enum Visibility {
  PUBLIC     (1)
  PRIVATE     (2)
  PRIVATE_WITH_PROTOTYPING     (3)
  boolean isPublic()
  boolean isPrivate()
  boolean isPrivateWithPrototyping()
}
1 PUBLIC

The generated swagger spec is restricted only to include only org.apache.causeway.applib.annotation.Nature#VIEW_MODEL view model s.

2 PRIVATE

Includes the specifications of domain entities as well as view models.

3 PRIVATE_WITH_PROTOTYPING

As #PRIVATE , also including any prototype actions (where Action#restrictTo() set to RestrictTo#PROTOTYPING ).

Members

PUBLIC

The generated swagger spec is restricted only to include only org.apache.causeway.applib.annotation.Nature#VIEW_MODEL view model s.

Specification for use by third-party clients, ie public use and not under the control of the authors of the backend Apache Causeway application. Exposing entities also would couple the REST client too deeply to the backend implementation.

PRIVATE

Includes the specifications of domain entities as well as view models.

This is perfectly acceptable where the team developing the REST client is the same as the team developing the backend service …​ the use of the Web API between the client and server is a private implementation detail of the application.

PRIVATE_WITH_PROTOTYPING

As #PRIVATE , also including any prototype actions (where Action#restrictTo() set to RestrictTo#PROTOTYPING ).