Example SuperClass Code
public abstract class MapperOOC implements IMapperOOC {
// ********** IMapperOOC Methods **********
public DataBean add(
String authorizeLoginName,
DataBean dataBean)
throws OOCTXException {
//get new bean for return
DataBean returnBean = getReturnBean();
boolean setDateCreated = true;
try {
// create object
String id = ooc.util.Content.getUniqueID();
EJBLocalObject ejb = doCreate( id );
if ( ejb == null ) {
System.out.println( "Error in Mapper.add: create Set object failed" );
return null;
}
// map CMP fields
mapBeanToEJB( dataBean, ejb, setDateCreated );
// map CMR roles
mapBeanToCMR( dataBean, ejb );
// Prepare return data
mapEJBToBean( ejb, returnBean );
mapCMRToBean( ejb, returnBean );
} catch (Exception e) {
System.out.println( "Error in Mapper.add:: " + e.getMessage() );
throw new OOCTXException();
}
return returnBean;
}
Abstract methods
// ********** Abstract Methods for Sub-Classes **********
// ********** Core methods
protected abstract EJBLocalObject doCreate( String id )
throws OOCTXException;
protected abstract EJBLocalObject doFind( String id )
throws OOCTXException;
protected abstract Collection doSearch( DataBean dataBean )
throws OOCTXException;
// ********** Support methods
protected abstract DataBean getReturnBean();
protected abstract EJBLocalHome getLocalHome();
protected abstract CollectionBean buildCollectionBean( Collection ejbs );
// ********** DataBean <==> EJB/CMR methods
protected abstract void mapBeanToEJB ( DataBean bean, EJBLocalObject ejb, boolean setDateCreated );
protected abstract void mapEJBToBean( EJBLocalObject ejb, DataBean bean );
protected abstract void mapBeanToCMR( DataBean bean, EJBLocalObject ejb )
throws OOCTXException;
protected abstract void mapCMRToBean( EJBLocalObject ejb, DataBean bean );
}