Package org.apache.cayenne.configuration.server

# Class ServerModule

java.lang.Object
org.apache.cayenne.configuration.server.ServerModule

All Implemented Interfaces:
  `Module`

public class ServerModule extends Object implements Module
A DI module containing all Cayenne server runtime configuration.

Since:
  3.1

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ServerModule()`
  Creates a new `ServerModule`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `configure(Binder binder)`
  `static ListBuilder<DbAdapterDetector>`
  `contributeAdapterDetectors(Binder binder)`
  Provides access to a DI collection builder for `DbAdapterDetector`'s that allows downstream modules to "contribute" their own adapter detectors.
  `static ListBuilder<ExtendedType>`
  `contributeDefaultTypes(Binder binder)`
  Provides access to a DI collection builder for default adapter-agnostic `ExtendedType`'s that allows downstream modules to "contribute" their own types.
  `static ListBuilder<DataChannelFilter>`
  `contributeDomainFilters(Binder binder)`
  Deprecated.
  since 4.1 use `contributeDomainQueryFilters(Binder)` and `contributeDomainSyncFilters(Binder)`
  `static ListBuilder<Object>`
  `contributeDomainListeners(Binder binder)`
  Provides access to a DI collection builder for lifecycle events listeners.
  `static ListBuilder<DataChannelQueryFilter>`
  `contributeDomainQueryFilters(Binder binder)`
  Provides access to a DI collection builder for `DataChannelQueryFilter`'s that allows downstream modules to "contribute" their own DataDomain query filters
  `static ListBuilder<DataChannelSyncFilter>`
  `contributeDomainSyncFilters(Binder binder)`
  Provides access to a DI collection builder for `DataChannelSyncFilter`'s that allows downstream modules to "contribute" their own DataDomain sync filters
  `static MapBuilder<PkGenerator>`
  `contributePkGenerators(Binder binder)`
  Provides access to a DI map builder for `PkGenerator`'s that allows downstream modules to "contribute" their own pk generators.
  `static ListBuilder<String>`
  `contributeProjectLocations(Binder binder)`
  Provides access to a DI collection builder for String locations that allows downstream modules to "contribute" their own Cayenne project locations.
  `static MapBuilder<String>`
  `contributeProperties(Binder binder)`
  Provides access to a DI map builder for runtime properties that allows downstream modules to "contribute" their own properties.
  `static ListBuilder<ExtendedTypeFactory>`
  `contributeTypeFactories(Binder binder)`
  Provides access to a DI collection builder for `ExtendedTypeFactory`'s that allows downstream modules to "contribute" their own factories.
  `static ListBuilder<ExtendedType>`
  `contributeUserTypes(Binder binder)`
  Provides access to a DI collection builder for `ExtendedType`'s that allows downstream modules to "contribute" their own types.
  `static ListBuilder<ValueObjectType>`
  `contributeValueObjectTypes(Binder binder)`
  `static void`
  `setSnapshotCacheSize(Binder binder, int size)`
  Sets max size of snapshot cache, in pre 4.0 version this was set in the Modeler.
  `static void`
  `useExternalTransactions(Binder binder, boolean useExternal)`
  Sets transaction management to either external or internal transactions.

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

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

- ## Constructor Details

  - ### ServerModule

    public ServerModule()
    Creates a new `ServerModule`.
    Since:
      4.0

- ## Method Details

  - ### useExternalTransactions

    public static void useExternalTransactions(Binder binder, boolean useExternal)
    Sets transaction management to either external or internal transactions. Default is internally-managed transactions.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
      `useExternal` - whether external (true) or internal (false) transaction management should be used.
    Since:
      4.0

  - ### setSnapshotCacheSize

    public static void setSnapshotCacheSize(Binder binder, int size)
    Sets max size of snapshot cache, in pre 4.0 version this was set in the Modeler.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
      `size` - max size of snapshot cache
    Since:
      4.0

  - ### contributeProjectLocations

    public static ListBuilder<String> contributeProjectLocations(Binder binder)
    Provides access to a DI collection builder for String locations that allows downstream modules to "contribute" their own Cayenne project locations.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for String locations.
    Since:
      4.0

  - ### contributeDomainFilters

    @Deprecated public static ListBuilder<DataChannelFilter> contributeDomainFilters(Binder binder)
    Deprecated.
    since 4.1 use `contributeDomainQueryFilters(Binder)` and `contributeDomainSyncFilters(Binder)`
    Provides access to a DI collection builder for `DataChannelFilter`'s that allows downstream modules to "contribute" their own DataDomain filters
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for DataChannelFilter.
    Since:
      4.0

  - ### contributeDomainQueryFilters

    public static ListBuilder<DataChannelQueryFilter> contributeDomainQueryFilters(Binder binder)
    Provides access to a DI collection builder for `DataChannelQueryFilter`'s that allows downstream modules to "contribute" their own DataDomain query filters
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for DataChannelQueryFilter.
    Since:
      4.1

  - ### contributeDomainSyncFilters

    public static ListBuilder<DataChannelSyncFilter> contributeDomainSyncFilters(Binder binder)
    Provides access to a DI collection builder for `DataChannelSyncFilter`'s that allows downstream modules to "contribute" their own DataDomain sync filters
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for DataChannelSyncFilter.
    Since:
      4.1

  - ### contributeDomainListeners

    public static ListBuilder<Object> contributeDomainListeners(Binder binder)
    Provides access to a DI collection builder for lifecycle events listeners.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for listener Objects.
    Since:
      4.0

  - ### contributeAdapterDetectors

    public static ListBuilder<DbAdapterDetector> contributeAdapterDetectors(Binder binder)
    Provides access to a DI collection builder for `DbAdapterDetector`'s that allows downstream modules to "contribute" their own adapter detectors.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for DbAdapterDetectors.
    Since:
      4.0

  - ### contributePkGenerators

    public static MapBuilder<PkGenerator> contributePkGenerators(Binder binder)
    Provides access to a DI map builder for `PkGenerator`'s that allows downstream modules to "contribute" their own pk generators.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      MapBuilder for properties.
    Since:
      4.1

  - ### contributeProperties

    public static MapBuilder<String> contributeProperties(Binder binder)
    Provides access to a DI map builder for runtime properties that allows downstream modules to "contribute" their own properties.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      MapBuilder for properties.
    Since:
      4.0

  - ### contributeTypeFactories

    public static ListBuilder<ExtendedTypeFactory> contributeTypeFactories(Binder binder)
    Provides access to a DI collection builder for `ExtendedTypeFactory`'s that allows downstream modules to "contribute" their own factories.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for ExtendedTypes.
    Since:
      4.0

  - ### contributeDefaultTypes

    public static ListBuilder<ExtendedType> contributeDefaultTypes(Binder binder)
    Provides access to a DI collection builder for default adapter-agnostic `ExtendedType`'s that allows downstream modules to "contribute" their own types. "Default" types are loaded before adapter-provided or "user" types, so they may be overridden by those.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for ExtendedTypes.
    Since:
      4.0

  - ### contributeUserTypes

    public static ListBuilder<ExtendedType> contributeUserTypes(Binder binder)
    Provides access to a DI collection builder for `ExtendedType`'s that allows downstream modules to "contribute" their own types. Unlike "default" types (see `contributeDefaultTypes(Binder)`), "user" types are loaded after the adapter-provided types and can override those.
    Parameters:
      `binder` - DI binder passed to the module during injector startup.
    Returns:
      ListBuilder for ExtendedTypes.
    Since:
      4.0

  - ### contributeValueObjectTypes

    public static ListBuilder<ValueObjectType> contributeValueObjectTypes(Binder binder)
    Parameters:
      `binder` - DI binder passed to module during injector startup
    Returns:
      ListBuilder for user-contributed ValueObjectTypes
    Since:
      4.0

  - ### configure

    public void configure(Binder binder)
    Specified by:
      `configure` in interface `Module`