Bump version to 0.1.1-SNAPSHOT.

Change-Id: I196a9f817652d72c43cea07177f3c556b0f6018b
1 file changed
tree: 5710d7d2df8a8a9a6c4bd38444ef6636b6780e93
  1. .gitignore
  2. .mvn/
  3. COPYING
  4. COPYING.GPL
  5. README.md
  6. pom.xml
  7. src/
README.md

GVariant for Java

This library provides a GVariant parser in pure Java.

Overview

The foundational class is Decoder.

Instances of Decoder read a given concrete subtype of Value from a ByteBuffer. The class also contains factory methods to create those instances.

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));