Konvertierung zur zur spezielleren Expression

Anwendungsfall:
Eine Fassaden-Methode für mehrere Rollen
if-elseif-else-Verteiler im Code

Eventuell notwendig aufgrund Altlasten
(Code bereits so aufgebaut),
Code-Wiederverwendung (Unterprogramme) oder
wegen Framework

/**
 * Prüfe Vertrag Zentrale oder Niederlassung.
 * @param constraint (Z or N)
 */
public static void pruefeVertrag(
        final Vertrag vertrag ,
        final ORB_Z_N_ORE constraint ) {

allgemeinere Methode soll speziellere Methode(n) aufrufen

/**
 * Prüfe Vertrag Zentrale.
 * @param constraint Z
 */
public static void pruefeVertrag(
        final Vertrag vertrag ,
        final ZConstraint constraint ) {
    ...
}
/**
 * Prüfe Vertrag Niederlassung.
 * @param constraint N
 */
public static void pruefeVertrag(
        final Vertrag vertrag ,
        final NConstraint constraint ) {
    ...
}
Anfang weiter