1 29 30 package com.caucho.ejb.gen; 31 32 import com.caucho.bytecode.JClass; 33 import com.caucho.bytecode.JMethod; 34 import com.caucho.java.JavaWriter; 35 import com.caucho.java.gen.BaseMethod; 36 import com.caucho.util.L10N; 37 38 import java.io.IOException ; 39 40 43 public class StatelessCreateMethod extends BaseMethod { 44 private static final L10N L = new L10N(StatelessCreateMethod.class); 45 46 private JMethod _method; 47 private String _contextClassName; 48 private String _prefix; 49 50 public StatelessCreateMethod(JMethod method, 51 String contextClassName, 52 String prefix) 53 { 54 super(method); 55 56 _method = method; 57 _contextClassName = contextClassName; 58 _prefix = prefix; 59 } 60 61 64 public JClass []getParameterTypes() 65 { 66 return _method.getParameterTypes(); 67 } 68 69 72 public JClass getReturnType() 73 { 74 return _method.getReturnType(); 75 } 76 77 82 public void generateCall(JavaWriter out, String []args) 83 throws IOException 84 { 85 out.println(_contextClassName + " cxt = _context;"); 86 87 out.println(); 88 89 JClass retType = getReturnType(); 90 if ("RemoteHome".equals(_prefix)) 91 out.println("return (" + retType.getName() + ") cxt.getEJBObject();"); 92 else if ("LocalHome".equals(_prefix)) 93 out.println("return (" + retType.getName() + ") cxt.getEJBLocalObject();"); 94 else 95 throw new IOException (L.l("trying to create unknown type {0}", 96 _prefix)); 97 } 98 } 99 | Popular Tags |