Package pi.debug
Class ToStringFormatter
java.lang.Object
pi.debug.ToStringFormatter
Hilft die Textausgabe der
Object.toString()-Methoden zu formatieren.
Wird zum Beispiel die Figur Image mit der Methode
System.out.println(String) ausgegeben so erscheint folgende Zeichenkette:
Image [width=1.0m, height=1.0m, imageWidth=8px, imageHeight=8px,
pixelPerMeter=8.0]
public String toString()
{
ToStringFormatter formatter = new ToStringFormatter("Image");
formatter.add("width", width, "m");
formatter.add("height", height, "m");
if (pixelPerMeter > 0)
{
formatter.add("pixelPerMeter", pixelPerMeter);
}
if (isFlippedHorizontally())
{
formatter.add("flippedHorizontally");
}
return formatter.format();
}
Beispiel wie der ToStringFormatter in einer Klassenhierarchie eingesetzt werden kann:
public ToStringFormatter toStringFormatter()
{
var formatter = super.toStringFormatter();
if (numberOfChilds() > 0)
{
formatter.prepend("numberOfChilds", numberOfChilds());
}
return formatter;
}
- Since:
- 0.25.0
- Author:
- Josef Friedrich
-
Constructor Summary
ConstructorsConstructorDescriptionToStringFormatter(Object object) Initialisiert einen neuenToStringFormattermit dem gegebenen Objekt.ToStringFormatter(String className) Initialisiert einen neuenToStringFormattermit dem gegebenen Klassenname. -
Method Summary
Modifier and TypeMethodDescriptionvoidFügt das Schlüssel-Wert-Paar eines Felds ans Ende der Feldliste hinzu.voidFügt das Schlüssel-Wert-Paar eines Felds mit Einheit ans Ende der Feldliste hinzu.Setzt den Klassennamen und Hash-Code basierend auf dem übergebenen Objekt.static StringBereinigt die angegebentoString()-Zeichenkette, indem alle ANSI-Farbcodes und@hashCodesentfernt werden.format()Gibt die formatierte Zeichenkette aus.voidFügt das Schlüssel-Wert-Paar eines Felds am Anfang der Feldliste hinzu.voidFügt das Schlüssel-Wert-Paar eines Felds mit Einheit am Anfang der Feldliste hinzu.toString()
-
Constructor Details
-
ToStringFormatter
Initialisiert einen neuenToStringFormattermit dem gegebenen Klassenname.@Override public String toString() { ToStringFormatter formatter = new ToStringFormatter("Image"); formatter.add("width", width, "m"); formatter.add("height", height, "m"); if (pixelPerMeter > 0) { formatter.add("pixelPerMeter", pixelPerMeter); } if (isFlippedHorizontally()) { formatter.add("flippedHorizontally"); } return formatter.format(); }- Parameters:
className- Der Klassenname.
-
ToStringFormatter
Initialisiert einen neuenToStringFormattermit dem gegebenen Objekt.Extrahiert den einfachen Klassennamen und berechnet den Hexadezimal-Hashcode des Objekts basierend auf seiner Identität im Speicher.
- Parameters:
object- Das Objekt, für das die String-Repräsentation formatiert werden soll.
-
-
Method Details
-
className
Setzt den Klassennamen und Hash-Code basierend auf dem übergebenen Objekt.Der einfache Klassenname wird aus dem Objekt extrahiert und der Hash-Code wird als hexadezimale Darstellung der Identitäts-Hash-Code des Objekts gespeichert.
- Parameters:
object- Das Objekt, dessen Klassenname und Identitäts-Hash-Code gespeichert werden sollen.- Returns:
- diese
ToStringFormatterInstanz für Method Chaining - Since:
- 0.45.0
-
prepend
Fügt das Schlüssel-Wert-Paar eines Felds am Anfang der Feldliste hinzu.- Parameters:
fieldName- Der Name des Felds bzw. des Attributs.value- Der Wert des Felds in einem beliebigen Datentyp.
-
prepend
Fügt das Schlüssel-Wert-Paar eines Felds mit Einheit am Anfang der Feldliste hinzu.- Parameters:
fieldName- Der Name des Felds bzw. des Attributs.value- Der Wert des Felds in einem beliebigen Datentyp.unit- Eine zusätzliche Zeichenkette, die an den Wert angehängt wird, und als Einheit dienen kann.
-
append
Fügt das Schlüssel-Wert-Paar eines Felds ans Ende der Feldliste hinzu.- Parameters:
fieldName- Der Name des Felds bzw. des Attributs.value- Der Wert des Felds in einem beliebigen Datentyp.
-
append
Fügt das Schlüssel-Wert-Paar eines Felds mit Einheit ans Ende der Feldliste hinzu.- Parameters:
fieldName- Der Name des Felds bzw. des Attributs.value- Der Wert des Felds in einem beliebigen Datentyp.unit- Eine zusätzliche Zeichenkette, die an den Wert angehängt wird, und als Einheit dienen kann.
-
format
Gibt die formatierte Zeichenkette aus.- Returns:
- Die formatierte Zeichenkette.
-
toString
-
clean
Bereinigt die angegebentoString()-Zeichenkette, indem alle ANSI-Farbcodes und@hashCodesentfernt werden.- Parameters:
toString- Der zu bereinigende Format-String.- Returns:
- Ein bereinigter Format-String ohne ANSI-Farbcodes und Hexadezimalzahlen.
- Since:
- 0.42.0
-