summaryrefslogtreecommitdiff
path: root/java/common/generate
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2007-10-05 03:24:43 +0000
committerRafael H. Schloming <rhs@apache.org>2007-10-05 03:24:43 +0000
commitdf4ee40ba5da93b711af91a66195343343d5b7be (patch)
treeb5d87269f79f82be3e638cb445739050b6fe2d72 /java/common/generate
parent1fef82b3a736c4cf3d7bf22b1195595dbcddb7a1 (diff)
downloadqpid-python-df4ee40ba5da93b711af91a66195343343d5b7be.tar.gz
replaced random printlns with strategically placed log statements, also added useful toString() for structs
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@582065 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/generate')
-rwxr-xr-xjava/common/generate27
1 files changed, 25 insertions, 2 deletions
diff --git a/java/common/generate b/java/common/generate
index 8a5db6c190..2920d2af42 100755
--- a/java/common/generate
+++ b/java/common/generate
@@ -21,6 +21,7 @@ class Output:
self.line("package %s;" % self.package)
self.line()
+ self.line("import java.util.ArrayList;")
self.line("import java.util.List;")
self.line("import java.util.Map;")
self.line("import java.util.UUID;")
@@ -270,6 +271,11 @@ class Struct:
out.line(" }")
out.line()
+ out.line(" private static final List<Field<?>> FIELDS = new ArrayList<Field<?>>();")
+ out.line(" public List<Field<?>> getFields() { return FIELDS; }")
+ out.line()
+
+ out.line()
for type, name in self.fields:
out.line(" private %s %s;" % (jtype(type), name))
@@ -309,6 +315,7 @@ class Struct:
out.line(" delegate.%s(context, this);" % dromedary(self.name))
out.line(" }")
+ index = 0
for type, name in self.fields:
out.line()
out.line(" public %s %s() {" % (jtype(type), camel(1, "get", name)))
@@ -316,14 +323,30 @@ class Struct:
out.line(" }")
out.line(" public %s %s(%s value) {" %
(self.name, camel(1, "set", name), jtype(type)))
- out.line(" this.%s = value;" % name);
+ out.line(" this.%s = value;" % name)
out.line(" return this;")
out.line(" }")
out.line(" public %s %s(%s value) {" % (self.name, name, jtype(type)))
- out.line(" this.%s = value;" % name);
+ out.line(" this.%s = value;" % name)
out.line(" return this;")
out.line(" }")
+ out.line(' static {')
+ out.line(' FIELDS.add(new Field<%s>(%s.class, "%s", %d) {' %
+ (self.name, self.name, name, index))
+ out.line(' public Object get(Object struct) {')
+ out.line(' return check(struct).%s;' % name)
+ out.line(' }')
+ out.line(' public void read(Decoder dec, Object struct) {')
+# out.line(' check(struct).%s = dec.read%s();' % (name, camel(0, type)))
+ out.line(' }')
+ out.line(' public void write(Encoder enc, Object struct) {')
+# out.line(' enc.write%s(check(struct).%s);' % (camel(0, type), name))
+ out.line(' }')
+ out.line(' });')
+ out.line(' }')
+ index += 1;
+
out.line()
out.line(" public void read(Decoder dec, byte major, byte minor) {")
if self.ticket: