Package com.orchestranetworks.rest

# Interface ApplicationConfigurator

public interface ApplicationConfigurator
Provides methods to register specific REST Toolkit JAX-RS application components and package scan boundaries.

Since:
  5.9.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ApplicationConfigurator`
  `addPackages(boolean recursively, Package... packages)`
  Adds one or more packages which will be used to scan for resource, provider and `feature` classes.
  `ApplicationConfigurator`
  `addPackages(boolean recursively, String... packageNames)`
  Adds one or more fully qualified packages name which will be used to scan for resource, provider and `feature` classes.
  `ApplicationConfigurator`
  `addPackages(Package... packages)`
  Adds one or more packages which will be used to scan for resource, provider and `feature` classes.
  `ApplicationConfigurator`
  `addPackages(String... packageNames)`
  Adds one or more fully qualified packages name which will be used to scan for resource, provider and `feature` classes.
  `ApplicationConfigurator`
  `addProperties(Map<String,Object> properties)`
  Adds custom application-wide properties.
  `ApplicationConfigurator`
  `register(Class<?> aClass)`
  Registers a resource, provider or `feature` class.
  `ApplicationConfigurator`
  `register(Object aSingleton)`
  Registers a resource, provider or `feature` instance.

- ## Method Details

  - ### addPackages

    ApplicationConfigurator addPackages(Package... packages)
    Adds one or more packages which will be used to scan for resource, provider and `feature` classes.

    Packages will be scanned recursively.

    Calling this method is similar to calling `addPackages(true, Package...)`.

    Parameters:
      `packages` - an array of packages.
    Returns:
      the `this` object.
    See Also:
      - `addPackages(boolean, String...)`

  - ### addPackages

    ApplicationConfigurator addPackages(boolean recursively, Package... packages)
    Adds one or more packages which will be used to scan for resource, provider and `feature` classes.

    Note: Only packages accessible from the web application's classloader can be scanned.

    Parameters:
      `recursively` - can be scanned recursively.
      `packages` - an array of packages
    Returns:
      the `this` object.
    See Also:
      - `addPackages(boolean, String...)`

  - ### addPackages

    ApplicationConfigurator addPackages(String... packageNames)
    Adds one or more fully qualified packages name which will be used to scan for resource, provider and `feature` classes.

    Packages will be scanned recursively.

    Calling this method is similar to calling `addPackages(true, String...)`

    Parameters:
      `packageNames` - an array of fully qualified packages name.
    Returns:
      the `this` object.
    See Also:
      - `addPackages(boolean, Package...)`

  - ### addPackages

    ApplicationConfigurator addPackages(boolean recursively, String... packageNames)
    Adds one or more fully qualified packages name which will be used to scan for resource, provider and `feature` classes.

    Note: Only packages accessible from the web application's classloader can be scanned.

    Parameters:
      `recursively` - can be scanned recursively.
      `packageNames` - an array of fully qualified packages name.
    Returns:
      the `this` object.
    See Also:
      - `addPackages(boolean, Package...)`

  - ### addProperties

    ApplicationConfigurator addProperties(Map<String,Object> properties)
    Adds custom application-wide properties.

    If any of the added properties already exists, the values of the existing properties will be replaced with the new values.

    Parameters:
      `properties` - properties map to register
    Returns:
      the `this` object.

  - ### register

    ApplicationConfigurator register(Class<?> aClass)
    Registers a resource, provider or `feature` class.

    A class will be ignored and a warning log message produced if the requirements of root resources or provider/feature are not met.

    Classes registered through this method can be packaged inside or outside the web application archive.

    Parameters:
      `aClass` - The class to register as a JAX-RS application's component.
    Returns:
      the `this` object.

  - ### register

    ApplicationConfigurator register(Object aSingleton)
    Registers a resource, provider or `feature` instance. Its fields and properties declared as dependencies (see `Context`) are injected by the runtime prior to use.

    A singleton will be ignored and a warning log message produced if the requirements of root resources or provider/feature are not met.

    The class of objects registered through this method can be packaged inside or outside the web application archive.

    Parameters:
      `aSingleton` - The object to register as a JAX-RS application's singleton.
    Returns:
      the `this` object.