[!TIP]
🌐 Deutsche Version hier verfügbar 👈
Java SDK for X.Justiz Core document transmission messages.
The SDK is provided via Maven Central [Link]. You can install it via Maven or Gradle:
<dependency>
<groupId>de.xjustizcore.io</groupId>
<artifactId>xjustiz-core</artifactId>
<version>0.3.0</version>
</dependency>
implementation("de.xjustizcore.io:xjustiz-core:0.3.0")
The latest version can be found on Maven Central.
./gradlew build
Run all tests with:
./gradlew test
Test reports are generated in build/reports/tests/test/index.html.
import de.xjustiz.core.models.*;
import de.xjustiz.core.serialization.*;
// Create a message
var message = new UebermittlungSchriftgutobjekteNachricht();
var kopf = new Nachrichtenkopf();
kopf.setVersion("3.5.1");
kopf.setAktenzeichenAbsender(List.of("123 O 456/24"));
message.setKopf(kopf);
// Serialize to JSON
var serializer = XJustizSerializer.builder()
.format(Format.JSON)
.build();
String json = serializer.serializePretty(message);
String json = """
{
"Kopf": {
"AktenzeichenAbsender": ["123 O 456/24"]
}
}
""";
var message = serializer.deserialize(json, UebermittlungSchriftgutobjekteNachricht.class);
var xmlSerializer = XJustizSerializer.createDefault(); // XML is the default
String xml = xmlSerializer.serializePretty(message);
The SDK includes several utility classes in de.xjustiz.core.util:
Validates XML files against X.Justiz XSD schemas:
import de.xjustiz.core.util.XmlValidator;
import de.xjustiz.core.util.versioning.XJustizVersion;
List<String> errors = XmlValidator.validate("/path/to/file.xml", XJustizVersion.V3_5_1);
if (errors.isEmpty()) {
System.out.println("XML is valid");
}
Creates XJustiz ZIP archives with XML and attachments:
import de.xjustiz.core.util.Zipper;
// Create ZIP file
Path zipPath = Zipper.archiveToZipFile(message, Path.of("output.zip"), List.of(attachment1, attachment2));
// Or get as byte array
byte[] zipBytes = Zipper.archiveToZipBytes(message, attachments);
Check version compatibility of messages:
import de.xjustiz.core.util.versioning.CompatibilityChecker;
var result = CompatibilityChecker.check(message);
System.out.println("Compatible X.Justiz versions: " + result.getCompatibleXJustizVersions());
System.out.println("Compatible X.Justiz Core versions: " + result.getCompatibleXJustizCoreVersions());
Convert messages to a specific version:
import de.xjustiz.core.util.converter.XJustizConverter;
import de.xjustiz.core.util.versioning.XJustizVersion;
var conversionResult = XJustizConverter.convert(message, XJustizVersion.V3_4_1);
var convertedMessage = conversionResult.getResult();
if (conversionResult.hasLostData()) {
System.out.println("Lost data during conversion: " + conversionResult.getLostData());
}
MIT License - see LICENSE for details.