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 methodsprotected 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 ); }