T
- The type of the instances being served by the factory.@FunctionalInterface public interface Marshalable<T>
Marshalable
defines the functionality which must be provided
in order to represent a factory for object creation depending on some
provided context and of a predefined type specified with a generic argument
(in contrast to the BeanLookupFactory
, which creates instances of an
expected type). Many alternative implementations of a Marshalable
may may exist which construct the instances their way.
Having factories that generic as we define it here, we are able to decouple
our business logic from any specific framework: Your business logic must not
know anything about how the instances are generated. It mainly just needs to
know how to use the Marshalable
. It is up to the application "end
point", i.e. a command line tool with a main-method or a web-application to
finally decide which factory to use.
Depending on the implementation used or configuration provided, the
Marshalable
may return singletons or dedicated separate instances
when queried for instances.
Modifier and Type | Method and Description |
---|---|
<SRC> T |
toMarshaled(SRC aContext)
This method creates / retrieves an instance of the given type with the
given identifier (name) constructed as defined in one to many
configuration files.
|
default <SRC> T |
toMarshaled(SRC aContext,
Map<String,String> aProperties)
This method creates / retrieves an instance of the given type with the
given identifier (name) constructed as defined in one to many
configuration files.
|
<SRC> T toMarshaled(SRC aContext) throws org.refcodes.exception.MarshalException
SRC
- The context which may influence the object being created by
this factory.aContext
- The context which may influence the object being created
by this factory.org.refcodes.exception.MarshalException
- Thrown when marshaling / serializing an object
fails.default <SRC> T toMarshaled(SRC aContext, Map<String,String> aProperties) throws org.refcodes.exception.MarshalException
SRC
- The context which may influence the object being created by
this factory.aContext
- The context which may influence the object being created
by this factory.aProperties
- The dynamic properties which are used to configure the
desired bean.org.refcodes.exception.MarshalException
- Thrown when marshaling / serializing an object
fails.Copyright © 2018. All rights reserved.