Postfach

open class Postfach : KFachwert

Ein Postfach besteht aus einer Nummer ohne fuehrende Nullen und einer Postleitzahl mit Ortsangabe. Die Nummer selbst ist optional, wenn die durch die Postleitzahl bereits das Postfach abgebildet wird.

Im Englischen wird das Postfach oft als POB (Post Office Box) bezeichnet.

Author

oboehm

Since

0.2 (19.06.2017)

Constructors

Link copied to clipboard
constructor(postfach: String)

Zerlegt den uebergebenen String in seine Einzelteile und validiert sie. Folgende Heuristiken werden fuer die Zerlegung herangezogen:

constructor(ort: Ort)

Erzeugt ein Postfach ohne Postfachnummer. D.h. die PLZ des Ortes adressiert bereits das Postfach.

constructor(nummer: String, ort: String)

Erzeugt ein Postfach mit Postfachnummer. Wenn die uebergebene Nummer leer ist, wird ein Postfach ohne Postfachnummer erzeugt.

constructor(map: Map<String, String>)

Erzeugt ein neues Postfach.

constructor(nummer: Long, ort: Ort)

Erzeugt ein Postfach.

constructor(nummer: BigInteger, ort: Ort)

Erzeugt ein Postfach.

constructor(nummer: Optional<BigInteger>, ort: Ort)

Erzeugt ein Postfach.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Liefert die Postfach-Nummer als formattierte Zahl. Dies macht natuerlich nur Sinn, wenn diese Nummer gesetzt ist. Daher wird eine IllegalStateException geworfen, wenn dies nicht der Fall ist.

Link copied to clipboard
val ort: Ort

Liefert den Ort.

Link copied to clipboard

Liefert den Ortsnamen.

Link copied to clipboard
val pLZ: PLZ

Liefert die Postleitzahl. Ohne gueltige Postleitzahl kann kein Postfach angelegt werden, weswegen hier immer eine PLZ zurueckgegeben wird.

Functions

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

Zwei Postfaecher sind gleich, wenn sie die gleiche Attribute haben.

Link copied to clipboard

Liefert die Postfach-Nummer als normale Zahl. Da die Nummer optional sein kann, wird sie als Optional zurueckgeliefert.

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

Da die PLZ meistens bereits ein Postfach adressiert, nehmen dies als Basis fuer die Hashcode-Implementierung.

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

Liefert die einzelnen Attribute eines Postfaches als Map.

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

Hierueber wird das Postfach einzeilig ausgegeben.