File: prism-avro-idl.html

package info (click to toggle)
node-prismjs 1.30.0%2Bdfsg%2B~1.26.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,220 kB
  • sloc: javascript: 27,628; makefile: 9; sh: 7; awk: 4
file content (44 lines) | stat: -rw-r--r-- 741 bytes parent folder | download | duplicates (2)
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
<h2>Full example</h2>
<pre><code>// Source: https://avro.apache.org/docs/current/idl.html#example

/**
 * An example protocol in Avro IDL
 */
@namespace("org.apache.avro.test")
protocol Simple {

	@aliases(["org.foo.KindOf"])
	enum Kind {
		FOO,
		BAR, // the bar enum value
		BAZ
	}

	fixed MD5(16);

	record TestRecord {
		@order("ignore")
		string name;

		@order("descending")
		Kind kind;

		MD5 hash;

		union { MD5, null} @aliases(["hash"]) nullableHash;

		array&lt;long> arrayOfLongs;
	}

	error TestError {
		string message;
	}

	string hello(string greeting);
	TestRecord echo(TestRecord `record`);
	int add(int arg1, int arg2);
	bytes echoBytes(bytes data);
	void `error`() throws TestError;
	void ping() oneway;
}
</code></pre>