blob: c58e08a3428a7c8d21673ab92d0256032c7296c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
package org.apache.qpid.transport;
${from genutil import *}
public enum Type
{
${
types = spec.query["amqp/type"] + spec.query["amqp/class/type"]
codes = {}
first = True
for t in types:
code = t["@code"]
fix_width = t["@fixed-width"]
var_width = t["@variable-width"]
if code is None:
continue
if fix_width is None:
width = var_width
fixed = "false"
else:
width = fix_width
fixed = "true"
name = scream(t["@name"])
codes[code] = name
if first:
first = False
else:
out(",\n")
out(" $name((byte) $code, $width, $fixed)")
};
public byte code;
public int width;
public boolean fixed;
Type(byte code, int width, boolean fixed)
{
this.code = code;
this.width = width;
this.fixed = fixed;
}
public static Type get(byte code)
{
switch (code)
{
${
keys = list(codes.keys())
keys.sort()
for code in keys:
out(" case (byte) $code: return $(codes[code]);\n")
}
default: return null;
}
}
}
|