- Type Parameters:
TID
- The type of the TID to be used.
- All Known Subinterfaces:
BeanFactory<TID>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
The
BeanLookupFactory
defines the functionality which must be
provided in order to represent a factory for object creation of objects
identified by an TID String
and of the expected type (in contrast to
the TypeFactory
and the LookupFactory
which create instances
of a predefined type specified with a generic argument). Many alternative
implementations of a BeanLookupFactory
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 BeanLookupFactory
. 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
BeanLookupFactory
may return singletons or dedicated separate
instances when queried for instances.
-
Method Summary
Modifier and TypeMethodDescription<T> T
This method creates / retrieves an instance of the given type identified with the given identifier (name).default <T> T
This method creates / retrieves an instance of the given type identified with the given identifier (name).
-
Method Details
-
create
This method creates / retrieves an instance of the given type identified with the given identifier (name).- Type Parameters:
T
- The type which is to be fabricated by the factory method.- Parameters:
aIdentifier
- The name identifying the instance to be created / retrieved.- Returns:
- The instance being fabricated by this factory of the required type for the given instance name (identifier).
- Throws:
ClassCastException
- in case the fabricated type is not type compatible with the required type T.
-
create
This method creates / retrieves an instance of the given type identified with the given identifier (name).- Type Parameters:
T
- The type which is to be fabricated by the factory method.- Parameters:
aIdentifier
- The name identifying the instance to be created / retrieved.aProperties
- The dynamic properties which are used to configure the desired bean.- Returns:
- The instance being fabricated by this factory of the required type for the given instance name (identifier).
- Throws:
ClassCastException
- in case the fabricated type is not type compatible with the required type T.
-