|
|||||||||
| 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 BusinessProcessors
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
BusinessProcessors 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
BusinessProcessors configured in
appComponents.properties, calling each in turn. Returns a
Map compling all the results of each
BusinessProcessor called. If any of the
BusinessProcessors 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 BusinessProcessors
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.Exceptionjava.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 | ||||||||