public String returnTypeToJavaCode() { StringBuilder sb = new StringBuilder(); if (getGenericReturnType() != null) { sb.append(getReturnType().toJavaCode()); sb.append("<"); sb.append(getGenericReturnType().toJavaCode()); sb.append(">"); } else { sb.append(getReturnType().toJavaCode()); } return sb.toString(); }
private void createResponseMessage(StringBuilder builder, SMethod method, String messageName) { if (generatedMessages.containsKey(messageName)) { return; } generatedMessages.put(messageName, messageName); StringBuilder messageBuilder = new StringBuilder(); messageBuilder.append("message " + messageName + " {\n"); messageBuilder.append("\toptional string errorMessage = 1;\n"); messageBuilder.append('\t'); if (method.isAggregateReturnType()) { messageBuilder.append("repeated "); } else { messageBuilder.append("optional "); } messageBuilder.append(createMessage(builder, method.isAggregateReturnType() ? method.getGenericReturnType() : method.getReturnType()) + " value = 2;\n"); messageBuilder.append("}\n\n"); builder.append(messageBuilder); }
public <T extends PublicInterface, K extends PublicInterface> Object invoke(Class<K> clazz, T service, KeyValuePair[] keyValuePairs) throws ServiceException, ReflectorException { Reflector reflector = null; if (reflectorCache.containsKey(service)) { reflector = reflectorCache.get(service); } else { reflector = this.service.getServicesMap().getReflectorFactory().createReflector(clazz, service); reflectorCache.put(service, reflector); } return reflector.callMethod(clazz.getName(), getName(), getReturnType().getInstanceClass(), keyValuePairs); }
for (SMethod sMethod : sService.getMethods()) { methodBuilder.append(" else if ($2.equals(\"" + sMethod.getName() + "\")) {"); if (!sMethod.getReturnType().isVoid()) { methodBuilder.append("return ");
public String getPrintableName() { String r = getReturnType().getPrintableName(); if (getGenericReturnType() != null) { r += "<" + getGenericReturnType().getPrintableName() + ">"; } return r; }
i++; CtMethod method = new CtMethod(pool.get(sMethod.getReturnType().toJavaCode()), sMethod.getName(), parameters, reflectorImplClass); StringBuilder methodBuilder = new StringBuilder(); methodBuilder.append("{"); if (sMethod.getReturnType().isVoid()) { } else { methodBuilder.append("return (" + sMethod.getReturnType().toJavaCode() + ")"); methodBuilder.append("reflector.callMethod(\"" + interfaceClass.getSimpleName() + "\", \"" + sMethod.getName() + "\", " + sMethod.getReturnType().toJavaCode() + ".class"); if (sMethod.getParameters().isEmpty()) { methodBuilder.append(", new " + KeyValuePair.class.getName() + "[0]");
stringBuffer.append(method.getGenericReturnType() != null ? (method.getReturnType().toJavaCode() + "<" + method.getGenericReturnType().toJavaCode() + ">") : method.getReturnType().toJavaCode()); stringBuffer.append(TEXT_8); stringBuffer.append(method.getName()); if (!method.getReturnType().isVoid()) {
stringBuffer.append(StringUtils.firstUpperCase(method.getName())); stringBuffer.append(TEXT_11); stringBuffer.append(method.getReturnType().isVoid() ? "" : (method.returnTypeToJavaCode() + " result")); stringBuffer.append(TEXT_12); stringBuffer.append(StringUtils.firstUpperCase(method.getName())); stringBuffer.append(TEXT_18); if (method.getReturnType().isVoid()) { stringBuffer.append(TEXT_19); stringBuffer.append(method.getName());
private void genProtocolBuffersToServiceInterface(PrintWriter out, String sourceName, String targetName, SClass sType, SMethod method) { for (SField field : sType.getAllFields()) { if (sType.getInstanceClass().isAssignableFrom(List.class)) { } else if (sType.isDate()) { out.println("\t\t\t\t" + targetName + ".set" + field.getName() + "(new Date(" + sourceName + "." + method.getName() + "()));"); } else if (sType.isClass()) { out.println("\t\t\t\t" + targetName + ".set" + field.getName() + "(Class.forName(" + sourceName + "." + method.getName() + "()));"); } else if (sType.isDataHandler()) { out.println("\t\t\t\t" + targetName + ".setFile(new DataHandler(new ByteArrayDataSource(" + sourceName + ".getFile().toByteArray(), \"\")));"); } else if (sType.isEnum()) { out.println("\t\t\t\t" + targetName + ".set" + field.getName() + "(" + method.getReturnType().getName().replace("$", ".") + ".values()[" + sourceName + "." + method.getName() + "().ordinal()]);"); } else { out.println("\t\t\t\t" + targetName + ".set" + field.getName() + "(" + sourceName + "." + method.getName() + "());"); } } }
Object result = response.get("result"); SMethod method = servicesMap.getBySimpleName(interfaceName).getSMethod(methodName); return converter.fromJson(method.getReturnType(), method.getGenericReturnType(), result); } else { return null;
out.print("\tpublic void " + sMethod.getName() + "("); } else { fullResultType = sMethod.getReturnType().getName(); if (sMethod.isAggregateReturnType()) { fullResultType = sMethod.getReturnType().getName() + "<" + sMethod.getGenericReturnType().getName() + ">"; } else if (sMethod.getReturnType().isPrimitive() || sMethod.getReturnType().isString()) { out.println("\t\t\treturn response.getValue();"); } else if (sMethod.getReturnType().isDate()) { out.println("\t\t\treturn new java.util.Date(response.getValue());"); } else if (sMethod.getGenericReturnType().isEnum()) { out.println("\t\t\treturn null;"); } else { out.println("\t\t\t" + sMethod.getGenericReturnType().getName() + " realResult = new " + sMethod.getReturnType().getName() + "();"); out.println("\t\t\t" + "ProtocolBuffersService." + sMethod.getReturnType().getName() + " val = response.getValue();"); genProtocolBuffersToServiceInterface(out, "val", "realResult", sMethod.getReturnType(), sMethod); out.println("\t\t\treturn realResult;");