diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2008-04-16 13:32:13 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2008-04-16 13:32:13 +0000 |
| commit | bbe30c7875f67547ea9394d4e99b420ac22ef152 (patch) | |
| tree | 3bd76d813efccb16ba86f49982e3f24725659174 /qpid/java/common/Invoker.tpl | |
| parent | 857ba162eba08e8c210492a0ea265a6bd4439467 (diff) | |
| download | qpid-python-bbe30c7875f67547ea9394d4e99b420ac22ef152.tar.gz | |
QPID-901: updates to the java client to use the 0-10 final spec instead of the 0-10 preview spec; this includes improvements to the codegen process as well as some modifications to the shared code path in the client to not lose per message state when consumers are closed.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@648692 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common/Invoker.tpl')
| -rw-r--r-- | qpid/java/common/Invoker.tpl | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/qpid/java/common/Invoker.tpl b/qpid/java/common/Invoker.tpl new file mode 100644 index 0000000000..d9905c71a0 --- /dev/null +++ b/qpid/java/common/Invoker.tpl @@ -0,0 +1,41 @@ +package org.apache.qpidity.transport; + +import java.util.List; +import java.util.Map; +import java.util.UUID; + +public abstract class Invoker { + + protected abstract void invoke(Method method); + protected abstract <T> Future<T> invoke(Method method, Class<T> resultClass); + +${ +from genutil import * + +for c in composites: + name = cname(c) + fields = get_fields(c) + params = get_parameters(fields) + args = get_arguments(fields) + result = c["result"] + if result: + if not result["@type"]: + rname = cname(result["struct"]) + else: + rname = cname(result, "@type") + jresult = "Future<%s>" % rname + jreturn = "return " + jclass = ", %s.class" % rname + else: + jresult = "void" + jreturn = "" + jclass = "" + + out(""" + public $jresult $(dromedary(name))($(", ".join(params))) { + $(jreturn)invoke(new $name($(", ".join(args)))$jclass); + } +""") +} + +} |
