Files
mdg-filius/tools/java-oracle
julian.kiedaischandClaude Opus 5.5 fc9d865820 test(java-oracle): measure the getter defaults XMLEncoder refers to
XMLEncoder shares equal Integer objects, so a node's x coordinate can be
written as a reference to the result of JSidebarButton.getIconTextGap().
GetterDefaults constructs the classes like XMLDecoder does and records
what the getters return (packages/fls/src/javaDefaults.json).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:13:28 +00:00
..

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

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 (<void id="Integer0" property="iconTextGap"/>), 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).