org.jaffa.beans.moulding.mapping
Class BeanMoulder

java.lang.Object
  extended byorg.jaffa.beans.moulding.mapping.BeanMoulder

public class BeanMoulder
extends Object

Bean Moudler is used to mapp data between two Java Beans via a mapping file. It has been specifcially coded to map between benas that extend/implement DomainDAO and IPersistent for marshalling data to and from the database.

Version:
1.0
Author:
PaulE

Constructor Summary
BeanMoulder()
           
 
Method Summary
static void deleteBean(String path, DomainDAO source, UOW uow, MouldHandler handler)
          Take a source object and delete it or delete is children if it has any
static void moldFromDomain(Object source, Object target)
          Mould data from domain object and its related objects into a new JavaBean based domain object graph, based on the defined mapping rules.
static void moldFromDomain(Object source, Object target, GraphMapping graph, MappingFilter filter, String objectPath, boolean includeKeys)
          Mould data from domain object and its related objects into a new JavaBean based domain object graph, based on the defined mapping rules.
static void moldFromDomain(Object source, Object target, MappingFilter filter, String objectPath)
          Mould data from domain object and its related objects into a new JavaBean based domain object graph, based on the defined mapping rules.
static String printBean(Object source)
          Display the properties of this JavaBean.
static String printBean(Object source, List objectStack)
          Same as printBean(Object source), except the objectStack lists all the parent objects its printed, and if this is one of them, it stops.
static void updateBean(String path, DomainDAO source, UOW uow, MouldHandler handler)
          Take a source object and try and mold it back it its domain object
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanMoulder

public BeanMoulder()
Method Detail

printBean

public static String printBean(Object source)
Display the properties of this JavaBean. If this bean has properties that implement either DomainDAO or DomainDAO[], then also print this objects too.

Parameters:
source - Javabean who's contents should be printed
Returns:
multi-line string of this beans properties and their values

printBean

public static String printBean(Object source,
                               List objectStack)
Same as printBean(Object source), except the objectStack lists all the parent objects its printed, and if this is one of them, it stops. This allows detection of possible infinite recusion.

Parameters:
source - Javabean who's contents should be printed
objectStack - List of objects already traversed
Returns:
multi-line string of this beans properties and their values

moldFromDomain

public static void moldFromDomain(Object source,
                                  Object target)
                           throws ApplicationExceptions,
                                  FrameworkException
Mould data from domain object and its related objects into a new JavaBean based domain object graph, based on the defined mapping rules.

Same as moldFromDomain(Object source, Object target, GraphMapping graph, MappingFilter filter, String objectPath, boolean includeKeys except the graph is derived from the target object, a default MappingFilter (that just returns fields from the root object) and includeKeys is false. The objectPath is also null, assuming this is the first object in the domain object graph.

Parameters:
source - Source object to mould data from, typically extends Persistent
target - Target object to mould data to, typically extends DomainDAO
Throws:
ApplicationExceptions - Thrown if one or more application logic errors are generated during moulding
FrameworkException - Thrown if any runtime moulding error has occured.

moldFromDomain

public static void moldFromDomain(Object source,
                                  Object target,
                                  MappingFilter filter,
                                  String objectPath)
                           throws ApplicationExceptions,
                                  FrameworkException
Mould data from domain object and its related objects into a new JavaBean based domain object graph, based on the defined mapping rules.

Same as moldFromDomain(Object source, Object target, GraphMapping graph, MappingFilter filter, String objectPath, boolean includeKeys except the graph is derived from the target object, and includeKeys is false.

Parameters:
source - Source object to mould data from, typically extends Persistent
target - Target object to mould data to, typically extends DomainDAO
filter - Filter object that it is used to control what fields are populated or the target objects
objectPath - The path of this object being processed. This identifies possible parent and/or indexed entries where this object is contained.
Throws:
ApplicationExceptions - Thrown if one or more application logic errors are generated during moulding
FrameworkException - Thrown if any runtime moulding error has occured.

moldFromDomain

public static void moldFromDomain(Object source,
                                  Object target,
                                  GraphMapping graph,
                                  MappingFilter filter,
                                  String objectPath,
                                  boolean includeKeys)
                           throws ApplicationExceptions,
                                  FrameworkException
Mould data from domain object and its related objects into a new JavaBean based domain object graph, based on the defined mapping rules.

Parameters:
source - Source object to mould data from, typically extends Persistent
target - Target object to mould data to, typically extends DomainDAO
graph - The mapping class with the rules of how to map this source object
filter - Filter object that it is used to control what fields are populated or the target objects
objectPath - The path of this object being processed. This identifies possible parent and/or indexed entries where this object is contained.
includeKeys - true if key fields should be included in results regardless of the filters
Throws:
ApplicationExceptions - Thrown if one or more application logic errors are generated during moulding
FrameworkException - Thrown if any runtime moulding error has occured.

updateBean

public static void updateBean(String path,
                              DomainDAO source,
                              UOW uow,
                              MouldHandler handler)
                       throws ApplicationExceptions,
                              FrameworkException
Take a source object and try and mold it back it its domain object

Parameters:
path - The path of this object being processed. This identifies possible parent and/or indexed entries where this object is contained.
source - Source object to mould from, typically a DomainDAO
uow - Transaction handle all creates/update will be performed within. Throws an exception if null.
handler - Possible bean handler to be used when processing this source object graph
Throws:
ApplicationExceptions - Thrown if one or more application logic errors are generated during moulding
FrameworkException - Thrown if any runtime moulding error has occured.

deleteBean

public static void deleteBean(String path,
                              DomainDAO source,
                              UOW uow,
                              MouldHandler handler)
                       throws ApplicationExceptions,
                              FrameworkException
Take a source object and delete it or delete is children if it has any

Parameters:
path - The path of this object being processed. This identifies possible parent and/or indexed entries where this object is contained.
source - Source object to mould from, typically a DomainDAO
uow - Transaction handle all creates/update will be performed within. Throws an exception if null.
handler - Possible bean handler to be used when processing this source object graph
Throws:
ApplicationExceptions - Thrown if one or more application logic errors are generated during moulding
FrameworkException - Thrown if any runtime moulding error has occured.


Copyright © 2002-2004 JAFFA Project.