Package com.orchestranetworks.rest

# Class RESTApplicationAbstract

java.lang.Object
jakarta.ws.rs.core.Application
com.orchestranetworks.rest.RESTApplicationAbstract

All Implemented Interfaces:
  `ApplicationConstant`

public abstract class RESTApplicationAbstract extends Application implements ApplicationConstant
Defines the components for a REST Toolkit JAX-RS application.

An EBX® web application (war), that provides JAX-RS services, must supply a concrete subclass of this abstract class. It must be annotated with `@ApplicationPath` to define the base URI. The subclass is expected to define:

- which packages contain the REST resources classes or to register each class explicitly,
- custom application-wide properties.

If the web application also implements an EBX® module it must also be registered.

See Jakarta RESTful Web Services 3.1 - Specification for more information.

Since:
  5.9.0

- ## Field Summary

  ### Fields inherited from interface com.orchestranetworks.rest.ApplicationConstant

  `KEY_SERIALIZE_NULL_VALUES, REST_DEFAULT_APPLICATION_PATH, REST_DEFAULT_OPENAPI_APPLICATION_PATH`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RESTApplicationAbstract(Consumer<ApplicationConfigurator> aConfigurator)`
  Creates a new REST Toolkit application configuration initialized with mandatory and custom properties, resources and providers.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final Set<Class<?>>`
  `getClasses()`
  This method cannot be overridden, use instead `ApplicationConfigurator.register(Class)`.
  `final Map<String,Object>`
  `getProperties()`
  This method cannot be overridden, use instead `ApplicationConfigurator.addProperties(Map)`.
  `final Set<Object>`
  `getSingletons()`
  This method cannot be overridden, use instead `ApplicationConfigurator.register(Object)`.

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RESTApplicationAbstract

    public RESTApplicationAbstract(Consumer<ApplicationConfigurator> aConfigurator)
    Creates a new REST Toolkit application configuration initialized with mandatory and custom properties, resources and providers.
    Parameters:
      `aConfigurator` - This parameter is used to define the custom components of that REST Toolkit application.

- ## Method Details

  - ### getClasses

    public final Set<Class<?>> getClasses()
    This method cannot be overridden, use instead `ApplicationConfigurator.register(Class)`.
    Overrides:
      `getClasses` in class `Application`
    See Also:
      - `Application.getClasses()`

  - ### getProperties

    public final Map<String,Object> getProperties()
    This method cannot be overridden, use instead `ApplicationConfigurator.addProperties(Map)`.
    Overrides:
      `getProperties` in class `Application`
    See Also:
      - `Application.getProperties()`

  - ### getSingletons

    public final Set<Object> getSingletons()
    This method cannot be overridden, use instead `ApplicationConfigurator.register(Object)`.
    Overrides:
      `getSingletons` in class `Application`
    See Also:
      - `Application.getSingletons()`