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 CMP10FindMethod extends BaseMethod { 44 private static final L10N L = new L10N(CMP10FindMethod.class); 45 46 private JMethod _method; 47 private String _contextClassName; 48 private String _prefix; 49 50 public CMP10FindMethod(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 JClass retType = getReturnType(); 86 87 if ("RemoteHome".equals(_prefix)) { 88 out.print("return (" + retType.getName() + ") _server.getContext("); 89 out.printJavaTypeToObject(args[0], getParameterTypes()[0]); 90 out.println(", true).getEJBObject();"); 91 } 92 else 93 throw new IllegalStateException (L.l("'{0}' is an unknown type", 94 _prefix)); 95 } 96 } 97 | Popular Tags |