/Users/detro/workspace-nb/JAEBI/src/java/org/jaebi/server/service/XRequestCommandFactory.java

Vai alla documentazione di questo file.
00001 /*
00002  * XRequestCommandFactory.java
00003  *
00004  * Created on June 5, 2005, 6:46 PM
00005  * Created by Detro - 566/2145
00006  */
00007 
00008 package org.jaebi.server.service;
00009 
00010 import org.jaebi.server.service.exception.CommandCreationException;
00011 import org.jaebi.server.service.exception.XRequestCommandFactoryInitException;
00012 import org.jaebi.server.service.exception.XRequestCommandInitException;
00013 import org.jaebi.server.service.xml.JAXBMarshallerWrapper;
00014 import org.jaebi.server.service.xml.JAXBMarshallerWrapperImpl;
00015 import org.jaebi.server.service.xml.exception.JAXBMarshallerWrapperInitException;
00016 import org.jaebi.server.service.xml.xrequest.Xrequest;
00017 
00018 
00028 public class XRequestCommandFactory extends CommandFactory {
00031     private static JAXBMarshallerWrapper marshWrap;
00032     private static final String exceptionPrefix = "[BackEndHandlerImpl Exception]: ";
00033     
00043     public XRequestCommandFactory(BackEndHandler newBackEndHandler)
00044         throws XRequestCommandFactoryInitException {
00045         
00046         super(newBackEndHandler);
00047         
00048         try {
00049             marshWrap = 
00050                 new JAXBMarshallerWrapperImpl("org.jaebi.server.service.xml.xrequest");
00051         } catch ( JAXBMarshallerWrapperInitException je ) {
00052             throw new XRequestCommandFactoryInitException( exceptionPrefix + je );
00053         }
00054     }
00055     
00056     public Command createCommand(Object request) 
00057         throws CommandCreationException {
00058                
00059         return createCommand((Xrequest)request);
00060     }
00061     
00074     public XRequestCommand createCommand(Xrequest request)
00075         throws CommandCreationException {
00076         
00077         XRequestCommand newCommand = null;
00078         
00079         try {
00080             if ( request.getType().equalsIgnoreCase("delete") ) {
00081                 newCommand = new XRequestCommandDelete(request, 
00082                         (BackEndHandlerImpl)this.backEndHandler);
00083             }
00084             
00085             else if ( request.getType().equalsIgnoreCase("insert") ) {
00086                 newCommand = new XRequestCommandInsert(request, 
00087                         (BackEndHandlerImpl)this.backEndHandler);
00088             }
00089 
00090             else if ( request.getType().equalsIgnoreCase("select") ) {
00091                 newCommand = new XRequestCommandSelect(request, 
00092                         (BackEndHandlerImpl)this.backEndHandler);
00093             }
00094 
00095             else if ( request.getType().equalsIgnoreCase("update") ) {
00096                 newCommand = new XRequestCommandUpdate(request, 
00097                         (BackEndHandlerImpl)this.backEndHandler);
00098             }
00099             
00100             else throw new CommandCreationException( exceptionPrefix 
00101                     + " - Malformed XML: \"/xrequest/@type\" unknown." );
00102         } catch ( XRequestCommandInitException xreqe ) {
00103             throw new CommandCreationException( exceptionPrefix 
00104                     + xreqe + " - Type Selection Error." );
00105         }
00106         
00107         return newCommand;
00108     }
00109 }

Generato il Mon Jun 27 22:50:38 2005 per JAEBI - JAva Enterprice BackEnd Interfacement da  doxygen 1.4.3