Interface Service<SMD>

Type Parameters:
SMD - the generic service meta data type
All Superinterfaces:
org.refcodes.component.Component, org.refcodes.component.Destroyable, org.refcodes.mixin.MetaDataAccessor<SMD>

public interface Service<SMD>
extends org.refcodes.mixin.MetaDataAccessor<SMD>, org.refcodes.component.Component
Any Service to be made available by the service bus must implement this interface. Adding methods to this interface forces any service to implement this method which might be useful for later extensions.

To identify a Service via lookup, we need criteria for identifying that service. One criteria might by the type of the Service, others may be implementation or configuration specific. At least the configuration specific criteria is found in the service's Meta-Data provided by the MetaDataAccessor which each Service is to provide.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable

    org.refcodes.component.Destroyable.DestroyAutomaton

    Nested classes/interfaces inherited from interface org.refcodes.mixin.MetaDataAccessor

    org.refcodes.mixin.MetaDataAccessor.MetaDataBuilder<MD extends Object,​B extends org.refcodes.mixin.MetaDataAccessor.MetaDataBuilder<MD,​B>>, org.refcodes.mixin.MetaDataAccessor.MetaDataMutator<MD extends Object>, org.refcodes.mixin.MetaDataAccessor.MetaDataProperty<MD extends Object>
  • Method Summary

    Methods inherited from interface org.refcodes.component.Destroyable

    destroy

    Methods inherited from interface org.refcodes.mixin.MetaDataAccessor

    getMetaData