Thrift-1465:Visibility of methods in generated java code
Client: java
Patch: Ashutosh Chauhan
Changes visibility of processor getProcessMap() and getEmptyArgs() methods
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1236515 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index e8d321b..b76338a 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -2662,18 +2662,18 @@
(void) tservice;
// Open class
indent(f_service_) <<
- "private static class " << tfunction->get_name() << "<I extends Iface> extends org.apache.thrift.ProcessFunction<I, " << argsname << "> {" << endl;
+ "public static class " << tfunction->get_name() << "<I extends Iface> extends org.apache.thrift.ProcessFunction<I, " << argsname << "> {" << endl;
indent_up();
indent(f_service_) << "public " << tfunction->get_name() << "() {" << endl;
indent(f_service_) << " super(\"" << tfunction->get_name() << "\");" << endl;
indent(f_service_) << "}" << endl << endl;
- indent(f_service_) << "protected " << argsname << " getEmptyArgsInstance() {" << endl;
+ indent(f_service_) << "public " << argsname << " getEmptyArgsInstance() {" << endl;
indent(f_service_) << " return new " << argsname << "();" << endl;
indent(f_service_) << "}" << endl << endl;
- indent(f_service_) << "protected " << resultname << " getResult(I iface, " << argsname << " args) throws org.apache.thrift.TException {" << endl;
+ indent(f_service_) << "public " << resultname << " getResult(I iface, " << argsname << " args) throws org.apache.thrift.TException {" << endl;
indent_up();
if (!tfunction->is_oneway()) {
indent(f_service_) << resultname << " result = new " << resultname << "();" << endl;
diff --git a/lib/java/src/org/apache/thrift/ProcessFunction.java b/lib/java/src/org/apache/thrift/ProcessFunction.java
index e0cdc7b..88d57a5 100644
--- a/lib/java/src/org/apache/thrift/ProcessFunction.java
+++ b/lib/java/src/org/apache/thrift/ProcessFunction.java
@@ -36,11 +36,11 @@
oprot.getTransport().flush();
}
- protected abstract TBase getResult(I iface, T args) throws TException;
+ public abstract TBase getResult(I iface, T args) throws TException;
- protected abstract T getEmptyArgsInstance();
+ public abstract T getEmptyArgsInstance();
public String getMethodName() {
return methodName;
}
-}
\ No newline at end of file
+}
diff --git a/lib/java/src/org/apache/thrift/TBaseProcessor.java b/lib/java/src/org/apache/thrift/TBaseProcessor.java
index f93b133..f9a9a9e 100644
--- a/lib/java/src/org/apache/thrift/TBaseProcessor.java
+++ b/lib/java/src/org/apache/thrift/TBaseProcessor.java
@@ -1,5 +1,6 @@
package org.apache.thrift;
+import java.util.Collections;
import java.util.Map;
import org.apache.thrift.protocol.TMessage;
@@ -17,6 +18,10 @@
this.processMap = processFunctionMap;
}
+ public Map<String,ProcessFunction<I, ? extends TBase>> getProcessMapView() {
+ return Collections.unmodifiableMap(processMap);
+ }
+
@Override
public boolean process(TProtocol in, TProtocol out) throws TException {
TMessage msg = in.readMessageBegin();