From fe45858847c31226af28e6d06dc0e250d895e7c6 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sat, 18 Dec 2021 11:13:30 +0100 Subject: README: Move the usage example above the installation instructions. Change-Id: I5d53715d18b59784140ec69d91e72ee6bc087c35 --- README.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 64bafc6..6ba03ee 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,24 @@ The various subclasses of `Decoder` together implement the [GVariant serialization][] specification. +## Example + +To parse a [GVariant][] value of type `"a(si)"`, which is an array of +pairs of [String][] and `int`, you can use the following code: + + record ExampleRecord(String s, int i) {} + + var decoder = + Decoder.ofArray( + Decoder.ofStructure( + ExampleRecord.class, + Decoder.ofString(StandardCharsets.UTF_8), + Decoder.ofInt().withByteOrder(ByteOrder.LITTLE_ENDIAN))); + + byte[] bytes = ...; + List example = decoder.decode(ByteBuffer.wrap(bytes)); + + ## Installation ### Usage with Maven @@ -47,24 +65,6 @@ serialization][] specification. } -## Example - -To parse a [GVariant][] value of type `"a(si)"`, which is an array of -pairs of [String][] and `int`, you can use the following code: - - record ExampleRecord(String s, int i) {} - - var decoder = - Decoder.ofArray( - Decoder.ofStructure( - ExampleRecord.class, - Decoder.ofString(StandardCharsets.UTF_8), - Decoder.ofInt().withByteOrder(ByteOrder.LITTLE_ENDIAN))); - - byte[] bytes = ...; - List example = decoder.decode(ByteBuffer.wrap(bytes)); - - [ByteBuffer]: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/ByteBuffer.html [GVariant]: https://docs.gtk.org/glib/struct.Variant.html [GVariant serialization]: https://people.gnome.org/~desrt/gvariant-serialisation.pdf -- cgit v1.2.3