|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface BusinessObjectFactory
Interface for the factory class used to create instances of business layer
objects,
BusinessObjectFactoryImpl
.
Objects are created with the createObject
,
createObjectFromClassName
, or createUtilsObject
methods.
Generally, this class uses its appComponents
property to look
up the fully-qualified class name of the requested interface (taken from the
appComponents.properties
file. Then it uses the Java
reflection API to create the instance.
An instance of BusinessObjectFactory
is created in the Struts
layer. Its properties are populated there with the application's
DAOFactory
,
Settings
,
appComponents
, appSettings
, and with the
User
currently accessing
the system.
Immediately after instantiating the requested business object, this factory passes its own properties to it so that the newly created object can use them to communicate with the rest of the application.
Method Summary | |
---|---|
java.lang.Object |
createObject(java.lang.String type)
Creates a business object. |
java.lang.Object |
createObjectFromClassName(java.lang.String className)
Creates a business object. |
java.lang.Object |
createUtilsObject(java.lang.String type)
Given a type corresponding to a key in the appComponents.properties file, creates and returns a
utility object corresponding to the key. |
java.util.Properties |
getAppComponents()
Retrieves the application components previously set for this factory. |
java.util.Properties |
getAppSettings()
Retrieves the application settings previously set for this factory. |
DAOFactory |
getDaoFactory()
Retrieves the DAOFactory previously set for this factory. |
Settings |
getSettings()
Retrieves the Settings previously set for this factory. |
User |
getUser()
Retrieves the User previously set for this factory. |
java.util.Collection |
invokeMultipleCollectionProcessors(java.lang.String type,
java.lang.String method,
java.util.Map argument)
Given a type corresponding to a key in the appComponents.properties file, a method name, and a Map as
the argument, loops through all BusinessProcessor s
configured in appComponents.properties , calling each in
turn. |
java.util.Map |
invokeMultipleProcessors(java.lang.String type,
java.lang.String method,
java.util.Map argument)
Given a type corresponding to a key in the appComponents.properties file, a method name, and a
Map as the argument, loops through all
BusinessProcessor s configured in
appComponents.properties , calling each in turn. |
void |
setAppComponents(java.util.Properties appComponents)
Sets this factory's application components. |
void |
setAppSettings(java.util.Properties appSettings)
Sets this factory's application settings. |
void |
setDaoFactory(DAOFactory daoFactory)
Sets this factory's DAOFactory . |
void |
setSettings(Settings settings)
Sets this factory's Settings instance. |
void |
setUser(User user)
Sets this factory's User . |
Method Detail |
---|
java.util.Properties getAppSettings()
Settings
, which stores settings drawn from the
database.
Properties
object that represents various
settings for the application.void setAppSettings(java.util.Properties appSettings)
Settings
interface, which stores settings drawn from the
database.
appSettings
- The current application settings in effect for the system.java.util.Properties getAppComponents()
Properties
object that represents the components
for the application.void setAppComponents(java.util.Properties appComponents)
appComponents
- The current application components in effect for the system.User getUser()
User
previously set for this factory.
User
object that represents the user currently
accessing the system.void setUser(User user)
User
. This factory will pass the
User
to every business object it creates.
user
- The current User
accessing the system, for
which business processing is to be performed by business
objects created by this factory.Settings getSettings()
Settings
previously set for this factory.
Settings
object that represents various settings
for the system.void setSettings(Settings settings)
Settings
instance. This factory will
pass the Settings
to every business object it creates.
settings
- The current Settings
for the system, containing
various settings to be used by business objects created by
this factory.DAOFactory getDaoFactory()
DAOFactory
previously set for this factory.
DAOFactory
object that can be used to create
data access objects.void setDaoFactory(DAOFactory daoFactory)
DAOFactory
. This factory will pass
the DAOFactory
to every business object it creates.
daoFactory
- The current DAOFactory
for the system, which
will allow business objects created by this factory to create
data access objects.java.lang.Object createObject(java.lang.String type) throws java.lang.Exception
A lookup is performed first to find the fully-qualified Java class name
of the object to create. The type
parameter corresponds to
a key in the appComponents.properties
file. This factory
uses its appComponents
property to perform the lookup.
If the Java class name is found, an object is created, and then this factory populates it with its own properties. These properties allow the newly create object to communicate with the rest of the application.
type
- A String
associated with the class name of the
business object to be created.
null
, if an error occurs.
java.lang.Exception
java.lang.Object createObjectFromClassName(java.lang.String className) throws java.lang.Exception
Using the className
parameter, this factory creates an
object, and then populates it with its own properties. These properties
allow the newly create object to communicate with the rest of the
application.
className
- A String
associated with the class name of the
business object to be created.
null
, if an error occurs.
java.lang.Exception
java.util.Map invokeMultipleProcessors(java.lang.String type, java.lang.String method, java.util.Map argument) throws java.lang.Exception
appComponents.properties
file, a method name, and a
Map
as the argument, loops through all
BusinessProcessor
s configured in
appComponents.properties
, calling each in turn. Returns a
Map
compling all the results of each
BusinessProcessor
called. If any of the
BusinessProcessor
s returns a Map
with a
key of resultCode
that is not equal to "0", processing of
all remaining processors is halted, and this method returns immediately.
type
- A String such as "activePaymentProcessors" corresponding to a
key in the appComponents.properties
file.method
- The method of each BusinessProcessor
to invoke
in turn.argument
- A Map
representing the single argument the
method accepts.
Map
representing all the results of each
processor combined. They are combined into a single
Map
using the Map.putAll()
method.
java.lang.Exception
java.util.Collection invokeMultipleCollectionProcessors(java.lang.String type, java.lang.String method, java.util.Map argument) throws java.lang.Exception
appComponents.properties
file, a method name, and a Map as
the argument, loops through all BusinessProcessor
s
configured in appComponents.properties
, calling each in
turn. Returns a Collection
compling all the results of
each BusinessProcessor
called.
type
- A String
such as "activeShippingProcessors"
corresponding to a key in the
appComponents.properties
file.method
- The method of each BusinessProcessor
to invoke
in turn. (E.g. "loadShippingOptions")argument
- A Map
representing the single argument the
method accepts.
Collection
representing all the results of each
processor combined.
java.lang.Exception
java.lang.Object createUtilsObject(java.lang.String type)
appComponents.properties
file, creates and returns a
utility object corresponding to the key.
If no class can be instantiated for the given class name, an instance of one of the following classes is automatically returned (depending on the value of the type parameter):
type
- A String
such as "formUtilsImplementer"
corresponding to a key in the
appComponents.properties
file.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |