Text

open class Text @JvmOverloads constructor(text: String, validator: KSimpleValidator<String> = VALIDATOR) : AbstractFachwert<String, Text> , Comparable<Text>

Die Klasse Text ist der einfachste Fachwerte, der eigentlich nur ein Wrapper um die String-Klasse ist. Allerdings mit dem Unterschied, dass man keinen Null-Text oder leeren Text anlegen kann.

Diese Klasse wurde mit der FachwertFactory eingefuehrt. Sie dient dort als Fallback, wenn kein Fachwert erzeugt werden kann, auf den der uebergebene Name passt.

Author

oboehm

Since

0.5 (17.01.2018)

Constructors

Link copied to clipboard
constructor(text: String, validator: KSimpleValidator<String> = VALIDATOR)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Liefert die interne Praesentation fuer die abgeleiteten Klassen. Sie ist nicht fuer den direkten Aufruf vorgesehen, weswegen die Methode auch 'final' ist.

Functions

Link copied to clipboard
open operator override fun compareTo(other: Text): Int

Dient zum (alphabetischen) Vergleich zweier Texte.

Link copied to clipboard
fun convertTo(toEncoding: Charset, fromEncoding: Charset = detectCharset()): Text

Konvertiert mit JDK-Bordmittel einen Text in ein gewuenschtes Encoding. Allerdings kann je nach Konvertierung das Ergebnis verlustbehaftet sein.

Link copied to clipboard

Erkennt das Encoding eines Textes. Die Idee dahinter ist, dass wir einen Text nach UTF-8 und wieder zurueck konvertieren. Dies ist ein einfacher Ansatz und stammt aus Detect the charset in Java strings, reicht aber fuer einfache Faelle aus.

Link copied to clipboard

Erkennt das Encoding eines Textes. Im Unterschied zu Text#detectCharset werden hier alle erkannte Charsets zurueckgegeben

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

Zwei Fachwerte sind nur dann gleich, wenn sie vom gleichen Typ sind und den gleichen Wert besitzen.

Link copied to clipboard

Ignoriert beim Vergleich Gross- und Kleinschreibung.

Link copied to clipboard

Ignoriert beim Vergleich die Umlaute sowie Gross- und Kleinschreibung.

Link copied to clipboard

Ignoriert beim Vergleich die Umlaute.

Link copied to clipboard
fun getDistanz(other: Text): Int

Berechnet die Levenshtein-Distanz.

fun getDistanz(other: String): Int

Berechnet die Levenshtein-Distanz. Der Algorithmus dazu stammt aus http://rosettacode.org/wiki/Levenshtein_distance#Java.

Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard

Testet, ob das Encoding fuer den uergebenen Text stimmen kann. Die Idee dahinter ist, dass wir einen Text nach UTF-8 und wieder zurueck konvertieren. Falls es klappt, wird 'true' zurueckgegeben.

Link copied to clipboard

Dient zur Abfrage, ob ein Text nur gueltige (druckbare) Zeichen enthaelt. Ist dies nicht der Fall, koennte ein Encoding-Problem vorliegen.

Link copied to clipboard
open override fun isValid(): Boolean

Normalerweise liefert diese Methode 'true' zurueck, da es nicht moeglich ist, ungueltige Fachwerte zu erstellen. Allerdings kann man auch den Validator gegen den {@link de.jfachwert.pruefung.NullValidator} austauschen. In diesem Fall sollte diese Methode 'false' zurueck liefern, wenn der Fachwert nicht gueltig ist.

Link copied to clipboard

Ersetzt Umlaute und scharfes 'S'.

Link copied to clipboard

Liefert einen Text mit Kleinbuchstaben.

Link copied to clipboard
open override fun toMap(): Map<String, Any>

Liefert die einzelnen Attribute eines Fachwertes als Map. Bei einem einzelnen Wert wird als Default-Implementierung der Klassenname und die toString()-Implementierung herangezogen.

Link copied to clipboard

Wandelt einen Text in druckbare Zeichen, indem nicht druckbare Zeichen ausgefiltert werden.

Link copied to clipboard
open override fun toString(): String

Fuer die meisten Fachwerte reicht es, einfach den internen Code als String auszugeben.

Link copied to clipboard

Liefert einen Text mit Grossbuchstaben.

Link copied to clipboard
fun trim(): Text

Diese trim-Methode beruecksichtigt auch geschuetzte Leerzeichen (non-braking spaces).