1 29 30 package com.caucho.ejb.cfg; 31 32 import com.caucho.bytecode.JClass; 33 import com.caucho.bytecode.JMethod; 34 import com.caucho.config.ConfigException; 35 import com.caucho.ejb.gen.BeanAssembler; 36 import com.caucho.ejb.gen.EntityRemoveMethod; 37 import com.caucho.ejb.gen.TransactionChain; 38 import com.caucho.ejb.gen.ViewClass; 39 import com.caucho.java.gen.CallChain; 40 import com.caucho.log.Log; 41 import com.caucho.util.L10N; 42 43 import java.util.logging.Logger ; 44 45 48 public class EjbEntityView extends EjbObjectView { 49 private static final Logger log = Log.open(EjbEntityView.class); 50 private static final L10N L = new L10N(EjbEntityView.class); 51 52 55 public EjbEntityView(EjbEntityBean bean, JClass apiClass, String prefix) 56 throws ConfigException 57 { 58 super(bean, apiClass, prefix); 59 } 60 61 protected EjbEntityBean getEntityBean() 62 { 63 return (EjbEntityBean) getBean(); 64 } 65 66 69 protected void assembleMethods(BeanAssembler assembler, 70 ViewClass viewClass, 71 String fullClassName) 72 throws ConfigException 73 { 74 super.assembleMethods(assembler, viewClass, fullClassName); 75 76 JMethod removeApiMethod = null; 77 78 removeApiMethod = getApiClass().getMethod("remove", new JClass[0]); 79 80 if (removeApiMethod != null) { 81 EntityRemoveMethod removeMethod; 82 83 removeMethod = new EntityRemoveMethod(getEntityBean(), 84 removeApiMethod, 85 fullClassName); 86 87 CallChain call = removeMethod.getCall(); 88 89 call = TransactionChain.create(call, EjbMethod.TRANS_REQUIRED); 91 92 removeMethod.setCall(call); 93 94 viewClass.addMethod(removeMethod); 95 } 96 } 97 } 98 | Popular Tags |