Domain Mapper SuperClass


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


}


previous  contents  next