2.4.9.5. Definition einer eigenen Funktionssyntax

Weiter oben wurde bereits über die Notwendigkeit des Maskierens einzelner Funktionsaufrufe oder Parameter gesprochen. Die Standard-Syntax von checkerberry db ist auf eine problemlose Verwendbarkeit innerhalb von Java und XML hin ausgelegt. Es ist jedoch auch möglich, die Syntax mit anderen Schlüsselwerten zu belegen.

Beispiel 2.32. Elemente der Syntax

->function(arg1,arg2) ^$( ${parameter}

-> functionCallPrefix
(  functionCallOpeningBracket
,  argumentSeparator
)  functionCallClosingBracket
^  escapeCharacter
${ parameterPrefix
}  parameterSuffix


Beispiel 2.32, „Elemente der Syntax“ listet alle syntaktischen Elemente von checkerberry db auf. Die Konfiguration stellt Methoden für die Anpassung der einzelnen Elemente zur Verfügung.

Beispiel 2.33. Rekonfiguration der Syntax

configuration.setEscapeCharacter("?");
configuration.setFunctionCallSyntax("=", "[-", "-]");
configuration.setArgumentSeparator(":");
configuration.setParameterSyntax("(", ")");


Die obigen Anweisungen passen die Syntax derart an, dass „=save[-Homer:name-]“ künftig als Funktionsaufruf mit 2 Parametern und „(name)“ künftig als Parameter interpretiert wird – es sei denn sie wurden durch ein „?“ maskiert.

Auch wenn sich die Syntax auf diese Weise sehr flexibel konfigurieren lässt, so gibt es doch gewisse Anforderungen an sie. Sie sollte beispielsweise eindeutig sein und sich effizient parsen lassen. Um das Konfigurieren dennoch benutzerfreundlich zu gestalten, überprüft checkerberry db die neue Syntax direkt vor der ersten Benutzung, weißt gegebenenfalls durch die Fehlermeldung CB-DB-1027 auf einen Missstand hin und gibt Informationen, welche 2 syntaktischen Elemente sich nicht miteinander vertragen. Wenn es keinen expliziten Grund gibt, empfehlen wir die Syntax unverändert zu lassen.