# 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. * Ob eine MAC in der Datei steht, wird **ohne Rücksicht auf Groß-/Kleinschreibung** geprüft: `getMac()` schreibt groß, acht Korpus-Dateien speichern klein (bis 29.09.2026 erschienen sie fälschlich als `null`). * Bisher ausgelesen: Geräte (Klasse, Name, Beschriftung, Position, Schnittstellen, bei Rechner/Notebook `useIPAsName`/`useMACAsName`), 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). Dasselbe gilt für **statische Konstanten**: Die erste `0` einer Datei kann als `` stehen, und jede spätere `0` — etwa die Rot-, Grün- und Blauwerte einer schwarzen Doku-Farbe — verweist darauf. Schreibweise im Aufruf: `klasse::FELD`, Ergebnis `"SwingConstants.CENTER": 0`. ## `IP.ipCheck` Java-Filius schickt jede IP-Adresse und Maske beim Laden durch `IP.ipCheck`. `IpCheckCases` ruft es für jede Zeile von `packages/fls/test/ip-check.cases.txt` auf (ASCII, Nicht-ASCII als `\uXXXX`) und schreibt `ip-check.java.json`. Gemessen: leere Abschnitte zählen nicht (`10..0.0.1`), Vorzeichen und führende Nullen gehen, ebenso Ziffern jeder Schrift in der BMP (Thai, Devanagari, Vollbreite) — aber kein Leerzeichen und kein 𝟏 (Ersatzpaar).