My Open Code Overture
📚 Some noteworthy projects I’ve created along the way.
Bob #
Builder generator for Java
🏡 homepage: https://github.com/jonas-grgt/bob
Usage #
@Buildable
class Car {
private final String color;
private final Make make;
public Car(String color, Make make) {
this.color = color;
this.make = make;
}
}
Xjx #
Java based XML serializing and deserializing (serdes) library.
🏡 homepage: https://github.com/jonas-grgt/xjx
Example deserialization usage: #
class Gpx {
@Tag(path = "/gpx", items = "wpt")
List<Wpt> wpts;
}
class Wpt {
@Tag(path = "/gpx/wpt/name")
String name;
}
var gpx = new XjxSerdes().read("""
<gpx version="1.0"
creator="ExpertGPS 1.1 - https://www.topografix.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>2002-02-27T17:18:33Z</time>
<bounds minlat="42.401051" minlon="-71.126602" maxlat="42.468655" maxlon="-71.102973"/>
<wpt lat="42.438878" lon="-71.119277">
<ele>44.586548</ele>
<time>2001-11-28T21:05:28Z</time>
<name>5066</name>
<desc><![CDATA[5066]]></desc>
<sym>Crossing</sym>
<type><![CDATA[Crossing]]></type>
</wpt>
</gpx>
""", Gpx.class);