Package com.persequor.extension.ioc
Interface IExtensionPointIoc
- All Known Subinterfaces:
IDynamicExtensionService.IDynamicExtensionHelper
public interface IExtensionPointIoc
IOC Module. Use this for registering extension point implementations and/or to bind specific implementations to your
own interfaces. An instantiation of this interface is provided to the configure method in the
ExtensionPointConfiguration registered in the SAGA configuration.
-
Method Summary
Modifier and TypeMethodDescriptionacquire()
Expose extension point registration options for the acquire part of the capture flow.api()
Expose extension point registration options for adding extension point controllers to the elib service.<T> IExtensionPointBinder<T>
Bind an interface or abstract class to an implementationGives read-only access to Saga configuration.void
configure
(Class<? extends IExtensionPointConfiguration> configurationClass) Applies another extension point configuration.db()
Exposes extension points for manipulating backing services (SQL, Cassandra, RabbitMq, ElasticSearch, etc)document()
Expose document enrichment extension points for declaring custom enrichersepc()
Exposes extension point registration options for manipulating EPCsfrontend()
Exposes extension point registration options for manipulating the frontendissue()
Exposes extension points for handling issuesjobs()
Exposes extension points for running background jobs, either during bootup or on a schedulemetrics()
Exposes extension points relating to metrics<T extends ModuleExtensionContext>
TDeprecated.because of the `module` term clash.modules()
Allows to configure extension modulesRegister monitoring-related extensions to be used on pages or exposed through the APIpersist()
Expose extension point registration options for the persist part of the capture flow.settings()
Expose settings which span multiple service roles like xml namespaces, leaf-node matchers, etc.spaces()
Deprecated.Exposes extension points for providing static resourcesExpose extension point registration options for the statistics part of the capture flow.Expose extension point registration options for the subscription part of the capture flow.Expose extension point registration options for manipulating vocabularies, like schema definitions etc.
-
Method Details
-
configure
Applies another extension point configuration. The configure method of this other configuration will be called right away. Use the feature group multiple extensions into a module which can be re-used- Parameters:
configurationClass
- the class of the module you wish to include
-
bind
Bind an interface or abstract class to an implementationThis method also allows for the interface to be injected with
ISpaceBindingProvider
for use cases where there is an implementation of the interface per space. All spaces will default to using the core implementation unless specified otherwise. To configure a space-specific implementation seeISpaceExtensionPointIoc.bind(Class)
Be aware that the active space is determined by the web request. This means that space-specific behavior is not supported for non-web processes such as background jobs.
- Type Parameters:
T
- the inference type of interface or abstract class- Parameters:
from
- the interface or abstract class- Returns:
- binder for the specific implementation or provider
-
acquire
IAcquireExtensionPoint acquire()Expose extension point registration options for the acquire part of the capture flow. Code in these extension points will be executed synchronously with the api call to the SAGA system.- Returns:
- registration points for custom extension point implementations
-
persist
IPersistExtensionPoint persist()Expose extension point registration options for the persist part of the capture flow. Code in these extension points will be executed asynchronously, so any errors or output will not be shown directly to the caller of the capture api.- Returns:
- registration points for custom extension point implementations
-
statistics
IStatisticsExtensionPoint statistics()Expose extension point registration options for the statistics part of the capture flow. These extension points will be run after the events + vocabularies has been successfully been stored, in parallel with the extension points under subscription- Returns:
- registration points for custom extension point implementations
-
subscription
ISubscriptionExtensionPoint subscription()Expose extension point registration options for the subscription part of the capture flow. These extension points will be run after the events + vocabularies has been successfully been stored, in parallel with the extension points under statistics- Returns:
- registration points for custom extension point implementations
-
api
IApiExtensionPoint api()Expose extension point registration options for adding extension point controllers to the elib service.- Returns:
- registration points for custom extension point implementations
-
vocabulary
IVocabularyExtensionPoint vocabulary()Expose extension point registration options for manipulating vocabularies, like schema definitions etc. These extension points will be run as part of start-up process.- Returns:
- registration points for custom extension point implementations
-
frontend
IFrontendExtensionPoint frontend()Exposes extension point registration options for manipulating the frontend- Returns:
- registration points for custom extension point implementations
-
epc
IEpcExtensionPoint epc()Exposes extension point registration options for manipulating EPCs- Returns:
- registration points for custom extension point implementations
-
settings
ISettingsExtensionPoint settings()Expose settings which span multiple service roles like xml namespaces, leaf-node matchers, etc.- Returns:
- registration point for global settings
-
document
IDocumentExtensionPoints document()Expose document enrichment extension points for declaring custom enrichers- Returns:
- IDocumentExtensionPoints for each of Epcis or Epcis Master Data documents
-
db
Exposes extension points for manipulating backing services (SQL, Cassandra, RabbitMq, ElasticSearch, etc)- Returns:
- IDatabaseExtensionPoints
-
issue
IIssueExtensionPoint issue()Exposes extension points for handling issues- Returns:
- IIssueExtensionPoint
-
jobs
IJobExtensions jobs()Exposes extension points for running background jobs, either during bootup or on a schedule- Returns:
- IJobExtensions
-
staticResources
IStaticResourceExtensionPoints staticResources()Exposes extension points for providing static resources- Returns:
- IStaticResourceExtensionPoints
-
metrics
IMetricExtensionPoints metrics()Exposes extension points relating to metrics- Returns:
- IMetricExtensionPoints
-
configuration
ISagaConfiguration configuration()Gives read-only access to Saga configuration. Can be used to make extension point setup conditional.- Returns:
- ISagaConfiguration
-
module
Deprecated.because of the `module` term clash. The new meaning of module is described here:ExtensionModule
. UseExtensionModule.getExtensionContext(Class)
method instead. -
modules
IModuleExtensions modules()Allows to configure extension modules- Returns:
- IModuleExtensions
-
spaces
Deprecated.Allows to configure spaces and their extensions- Returns:
- - ISpaceConfiguration
-
monitoring
IMonitoringExtensionPoint monitoring()Register monitoring-related extensions to be used on pages or exposed through the API- Returns:
- implementations binder
-