# Java-Orakel Java-Filius selbst liest den Korpus (`corpus/`) und schreibt, was es gefunden hat, nach `corpus/corpus.java.json`. **Java ist der Schiedsrichter für das Dateiformat** — der Swift-Leser verliert in 10 von 23 Dateien Geräte (Plan §13, M2). ```bash npm run oracle:java # = tools/java-oracle/run.sh ``` Braucht JDK 17+, Maven und `xvfb-run`. Filius öffnet beim Laden sein Hauptfenster (`Information.reset` → `JMainFrame`), deshalb läuft es an einem virtuellen Bildschirm statt „headless". * Gelesen wird über Filius' eigene, private Lademethode `SzenarioVerwaltung.netzwerkLaden` (per Reflection) — Javas Weg, kein Nachbau. * Stand: `gitlab.com/filius1/filius` @ `6640354` (2.14.0), wird beim ersten Lauf nach `.upstream/` geholt und gebaut. * **MAC-Adressen**, die nicht in der Datei stehen, würfelt Filius beim Anlegen der Netzwerkkarte. Sie erscheinen als `null`; zwei Läufe sind byte-gleich. * Bisher ausgelesen: Geräte (Klasse, Name, Beschriftung, Position, Schnittstellen), Kabel (Enden als Gerät/Schnittstelle), Doku-Elemente. Systemsoftware, Dateisysteme und Anwendungen folgen schrittweise. ## Getter-Standardwerte XMLEncoder teilt gleiche `Integer`/`Boolean`-Objekte. Ein Wert, der einmal als Ergebnis eines Getters geschrieben wurde (``), taucht später nur noch als Verweis auf — etwa als x-Koordinate eines Geräts. Daran scheitert der Swift-Leser (Plan §13, M2). `GetterDefaults` erzeugt die betroffenen Klassen wie XMLDecoder (ohne Argumente) und ruft den Getter auf; das Ergebnis steht in `packages/fls/src/javaDefaults.json`. Gemessen, nicht geraten: Filius' Knopf setzt `verticalTextPosition` auf 3 (BOTTOM), nicht auf Swings 0 (CENTER).