diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2021-12-18 11:13:30 +0100 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2021-12-18 11:13:30 +0100 |
commit | fe45858847c31226af28e6d06dc0e250d895e7c6 (patch) | |
tree | 465374b8483f76c63d6b821b42a66a36b645d751 | |
parent | e5c63e787f39cd37fad98f543139dd27f71bdc07 (diff) |
README: Move the usage example above the installation instructions.
Change-Id: I5d53715d18b59784140ec69d91e72ee6bc087c35
-rw-r--r-- | README.md | 36 |
1 files changed, 18 insertions, 18 deletions
@@ -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<ExampleRecord> 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<ExampleRecord> 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 |