> Inhalt: JavaScout Base-System (JSBS)

JSBS_EntryRules – Basisklasse mit Methoden zur Prüfung von Eingaben auf der GUI

* Bitte beachten Sie die Hinweise und Bestimmungen bezüglich Urheberrecht, Haftungsausschluß und geschützte Marken oder Warenzeichen die für dieses Web-Dokument und möglicherweise auch für 'verlinkte' Dokumente gelten.

  • Der Betreiber dieser Web-Site (www.javascout.biz) ist nicht verantwortlich für den Inhalt von Web-Sites, die innerhalb dieses Web-Dokumentes oder anderer Dokumente von www.javascout.biz verlinkt sind.

  • Wenn dieses Web-Dokument oder andere Dokumente dieser Web-Site (www.javascout.biz) Rechte von Ihnen verletzen, oder sie glauben, dass Rechte Anderer (Dritter Personen) dadurch verletzt werden, informieren Sie bitte den Betreiber dieser Web-Site.
    Eine E-Mail können Sie ganz einfach durch anklicken des Symbols oder Textes im Frame rechts oben senden.

Dieses Dokument drucken.

 Letzte Bearbeitung dieses  Dokuments:
2012-04-07

Inhaltsverzeichnis

Code 
Erklärungen und Anwendungsbeispiele 
Verwandte Dokumentation
 

Code

package js_base.frame;

import
java.math.*;
import
java.util.*;

import
javax.swing.*;

/**
 *
 * @author kurt(at)javascout[dot]biz
 * @date 2007-04-27
 *
 * @description
 *  de:
 *  Klasse mit Regeln für die Prüfung der Gültigkeit von Eingaben in Feldern der
 *  GUI (Graphic User Interface / Grafische Benutzeroberfläche).
 *  Diese Klasse ist in den Klassen JSBS_StartFrame und JSBS_TaskFrame als Variable
 *  structJSBS_EntryRules definiert und wird in diesen Klassen auch 'konstruiert' -
 *  'structJSBS_EntryRules' steht damit in allen Klassen, die eine dieser beiden
 *  Basisklassen erben zur Verfügung ohne neuerlich als Variable definiert werden
 *  zu müssen
 * 
 *  Die Regeln werden in 2 Vectors gehalten.
 * 
 *  * vecApplicationMandatoryFields:
 *      Ein Vector, dessen Elemente die Namen aller GUI-Elemente enthalten,
 *      bei denen eine Eingabe notwendig ist, um eine korrekte Verarbeitung
 *      innerhalb des Anwendungs-Programms sicher zu stellen.
 *      (z.B. der eindeutige, Anwender-bekannte-Schlüssel, 'Produkt-Code'
 *      muß einen Wert enthalten.
 *      Dieser Vector muß im CommandCenter (Start-Frame) oder einem Task-Frame
 *      über die Methode 'addApplicationMandatoryField()' gefüllt werden.
 *      Empfohlen wird der Aufruf dieser Methode innerhalb von
 *      'initialize_before_frame()'.
 * 
 *  * vecEntryRules:
 *      Ein Vector der aus Objekten der Klasse EntryRule besteht.
 *      Eine EntryRule (Eingabe-Regel) kann im CommandCenter (Start-Frame)
 *      oder in einem Task-Frame definiert werden.
 *      Weiters können Eingabe-Regeln auch aus der Datei 'DisplayStrings.xml'
 *      (enthält die XML-Struktur mit den sprachabhängigen Texten für GUI-Elemente)
 *      gefüllt werden.
 *      Das geschieht in der Methode 'processEntryRules()' in der Klasse
 *      JSBS_XML_DisplayStrings.
 * 
 *      Für eine detaillierte Beschreibung der einzelnen Variablen in der
 *      Klasse EntryRule sehen Sie bitte dort nach.
 * 
 *  en:

 *  Class containing rules for checking the validity of entries to fields in the GUI.
 *  This class is implemented and constructed in JSBS_StartFrame and JSBS_TaskFrame -
 *  so it is available to all frames without further defining it as variable.
 * 
 *  The rules are hold in 2 vectors.
 * 
 *  * vecApplicationMandatoryFields:
 *      A vector consisting of Strings holding the names of all GUI-fields
 *      to which an input is mandatory for the correct processing within the application
 *      (e.g. unique, user-known-key, 'Product-Code' can not be left blank).
 *      This vector has to be filled within the CommandCenter or
 *      a Task-Frame (recommended method 'initialize_before_frame()' )
 *      using the method addApplicationMandatoryField().
 * 
 *  * vecEntryRules:
 *      A vector consisting of objects EntryRule.
 *      An EntryRule can be defined within the CommandCenter or a Task-Frame
 *      or derived from the file with the XML-structure containing the
 *      language-dependant-GUI-elements (file 'DisplayStrings.xml') using
 *      the method processEntryRules() in class JSBS_XML_DisplayStrings.
 *  
 *      For a detailed list of variables in class EntryRule and their meaning
 *      please refer to the description at class EntryRule.
 *
 * @change-log
 * when         who               why
 * --------------------------------------------------------
 * 2008-06-03   KG                Changed Type of MinimumValue and MaximumValue
 *                                from BigInteger to BigDecimal.
 * 2010-01-27   KG                Added method to check number of decimals and
 *                                called this method from the checking-methods for BigDecimal.
 * 2012-04-07   KG                Added method rmoveEntryRule(...).

 *
 */

public class JSBS_EntryRules {
/*
 * VARIABLES
 * ------------------- */
/*
 * de:
 * Vector mit den Feldern für Pflicht-Eingaben die innerhalb des
 * Anwendungs-Programms festgelegt werden.
 * en:
 * Vector with the MandatoryFields defined within the application. */
    private Vector vecApplicationMandatoryFields = new Vector();
/*
 * de: Vector mit den Objekten der Klasse 'EntryRule'.
 * en: Vector with the objects of class 'EntryRule'. */
    private Vector vecEntryRules = new Vector();
/*
 * de:
 * Referenz auf das CommandCenter; übergeben wenn dieses Object 'konstruiert'
 * wird. Wird hier gehalten um die Parameter, die an Methoden übergeben werden
 * müssen, zu reduzieren.
 * en:

 * Reference to the CommandCenter; passed when this object is constructed.
 * Introduced to reduce the parameters that have to be passed for a method. */
    private JSBS_StartFrame frmCC;
/*
 * de:
 * Klasse für eine Eingabe-Regel.
 * Als 'Inner Class' definiert weil sie nur in dieser Klasse (JSBS_EntryRules)
 * verwendet wird.
 * en:

 * Class for one Entry-Rule.
 * Defined as Inner Class as it is used just by this class (JSBS_EntryRules) */
    private class JSBS_EntryRule {
/*
 * VARIABLEN für diese Inner-Class / VARIABLES for this Inner-Class. */
/*
 * de: Name des GUI-Elementes (Eingabe-Feld) für den diese Regel gilt.

 * en: Name of the GUI-element (entry-field) the Rule is valid for. */
      protected String strGUIElementName = null;
/*
 * de:
 * Indikator, ob die Eingabe verpflichtend ist.
 * Im Gegensatz zu den Feldern, die in 'vecApplicationMandatoryFields'
 * definiert sind, kann diese Variable verändert werden wenn es der
 * Programmablauf erfordert.
 * en:

 * Indicator, if the entry is mandatory.
 * In contrast to fields defined in 'vecApplicationMandatoryFields',
 * this variable can change its value if the flow of code requieres it. */
      protected Boolean bolMandatory = null;
/*
 * de:
 * Minimal-Wert. Wenn diese Variable einen anderen Wert als 'null' enthält,
 * dann muß ein eingegebener Wert mindestens so groß sein wie der hier
 * definierte Wert.
 * Wenn die eingebene Zeichenkette (die den Wert, der geprüft werden soll,
 * enthält) leer ist (Länge 0) und das Feld ist nicht als 'Mandatory' definiert,
 * dann wird diese Regel nicht angewandt.
 * en:

 * Minimum Value. If this variable is other than 'null',
 * a numeric value entered must be at least the value defined here.
 * If the text-string (representing the value to be checked) is empty (length 0)
 * and the EntryRule defines the field not as Mandatory,
 * then the rule is not applied. */
      protected BigDecimal bdMinimumValue = null;
/*
 * de:
 * Maximal-Wert. Wenn diese Variable einen anderen Wert als 'null' enthält,
 * dann darf ein eingegebener Wert maximal so groß sein wie der hier
 * definierte Wert.
 * Wenn die eingebene Zeichenkette (die den Wert, der geprüft werden soll,
 * enthält) leer ist (Länge 0) und das Feld ist nicht als 'Mandatory' definiert,
 * dann wird diese Regel nicht angewandt.
 * en:

 * Maximum Value. If this variable is other than 'null',
 * a numeric value entered must not be greater than the value defined here.
 * If the text-string (representing the value to be checked) is empty (length 0)
 * and the EntryRule defines the field not as Mandatory,
 * then the rule is not applied. */
      protected BigDecimal bdMaximumValue = null;
/*
 * de:
 * Anzahl der Dezimalstellen. Wenn dieser Wert anders als 'null' ist,
 * dann darf ein eingegebener numerischer Wert nicht mehr Dezimalstellen
 * (Stellen hinter dem Komma) haben als der hier definierte Wert.
 * en:

 * Number of Decimals. If this variable is other than 'null',
 * a numeric value entered is not allowed to have more decimal places
 * than the value defined here. */
      protected Integer intNumberOfDecimals = null;
/*
 * de:
 * Minimale Länge des Textes. Wenn dieser Wert anders als 'null' ist,
 * dann muß eine eingegeben Zeichenkette mindestens die hier festgelegte
 * Anzahl von Zeichen enthalten.
 * Wenn die eingebene Zeichenkette leer ist und das Feld ist nicht als
 * 'Mandatory' definiert ist, dann wird diese Regel nicht angewandt.

 * en:
 * Minimum Length of text. If this variable is other than 'null',
 * a text-string entered must have at least the number of characters
 * as the value defined here.
 * If the text-string is empty (length 0) and the EntryRule defines the field
 * not as Mandatory, then the rule is not applied. */
      protected Integer intMinimumLength = null;
/*
 * de:
 * Maximale Länge des Textes. Wenn dieser Wert anders als 'null' ist,
 * dann darf eine eingegeben Zeichenkette nicht mehr als die hier festgelegte
 * Anzahl von Zeichen enthalten.
 * Wenn die eingebene Zeichenkette leer ist und das Feld ist nicht als
 * 'Mandatory' definiert ist, dann wird diese Regel nicht angewandt.

 * en:
 * Maximum Length of text. If this variable is other than 'null',
 * a text-string entered must not have more than the number of characters
 * as the value defined here.
 * If the text-string is empty (length 0) and the EntryRule defines the field
 * not as Mandatory, then the rule is not applied. */
      protected Integer intMaximumLength = null;
/*
 * de:
 * Regel ob ein Text dem festgelegten Format enspricht.
 * Muss erst im Detail definiert werden (K.G. 2007-04-27).

 * en:
 * Rules to check if a text entered follows the defined format.
 * Needs further definition (K.G. 2007-04-27). */
      protected String strEntryFormat = null;
    }
/*
 * CONSTRUCTORS */
/*
 * --------------------
 * de: Constructor wenn diese Klasse innerhalb des StartFrame verwendet wird.

 * en: Constructor when this class is implemented within the StartFrame. */
    public JSBS_EntryRules(JSBS_StartFrame parmfrmCC) {
/*
 * de: Referenz auf das StartFrame auf die vorgehenen Variable übertragen.
 * en: Keep the reference to the StartFrame in the variable defined. */
      frmCC = parmfrmCC;
    }
/*
 * --------------------
 * de: Constructor wenn diese Klasse innerhalb eines TaskFrame verwendet wird.

 * en: Constructor when this class is implemented within a TaskFrame. */
    public JSBS_EntryRules(JSBS_TaskFrame parmfrmParent) {
/* 
 * de: Referenz auf das TaskFrame auf die vorgehenen Variable übertragen.
 * en: Keep the reference to the StartFrame in the variable defined. */
      frmCC = parmfrmParent.frmCC;
    }
/*
 * METHODEN / METHODS */
/*
 * --------------------
 * de:
 * Methode zum Einfügen des Namen eines GUI-Element, das innerhalb des
 * Anwendungsprogramms als 'Mandatory' (mit verpflichtender Eingabe)
 * definiert wurde.
 * Die 'Mandatory'-Definition aus dem Anwendungsprogramm ist 'stärker' als
 * die 'Mandatory'-Definition aus der Datei 'DisplayStrings.xml'.
 * Mit der 'Application-Mandatory'-Definition können Eingaben in Felder,
 * die für die Verarbeitung im Anwendungsprogramm unbedingt erforderlich sind,
 * erzwungen werden.
 * Solche 'unbedingt notwendige' Eingaben sind für Felder, die den 
 * 'Anwender-bekannten-Schlüssel' bilden.
 * en:

 * Method to add the Name of a GUI-Element that is defined as 'Mandatory'
 * (entry requiered) within the application-program.
 * The 'Mandatory'-definition within the application-program is 'stronger'
 * than the 'Mandatory'-definition within the file 'DisplayStrings.xml'.
 * With the 'application-Mandatory'-definition the entry of values can be forced
 * for fields where an entry is inevitable for the processing within the
 * application-program.
 * Such 'inevitable' entry can be requiered for field which value is a part
 * of the 'user-known-key'. */
    public void addApplicationMandatoryGUIElement(String parmstrGUIElementName) {
/* de: Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * en: Check that the passed parameter is not 'null'. */
      if (parmstrGUIElementName == null) return;
/* de:
 * Prüfen, ob der Namen bereits im Vector 'vecApplicationMandatoryFields'
 * enthalten ist. In diesem Fall die Methode beenden.
 * en:
 * Check if the name is already within the Vector 'vecApplicationmandatoryFields'.
 * End this method in that case. */
      if (checkApplicationMandatory(parmstrGUIElementName)) return;
/* de:
 * Wenn das Programm bis hierher gekommen ist dann ist der Name noch nicht
 * im Vector enthalten; Name in den Vector einfügen.
 * en:
 * If the program run to this point, then the name is not already within the.
 * Vector; add the name to the Vector. */
      vecApplicationMandatoryFields.addElement(parmstrGUIElementName);
    }

/*
 * --------------------
 * de:
 * 'Wrapper'-Methoden zum direkten Übergeben eines GUI-Elements.
 * en:

 * Methods as wrappers to directly pass a GUI-Element. */
    public void addApplicationMandatoryGUIElement(JTextField parmJTextField) {
      addApplicationMandatoryGUIElement(parmJTextField.getName());
    }

/* ***** */
    public void addApplicationMandatoryGUIElement(JTextArea parmJTextArea) {
      addApplicationMandatoryGUIElement(parmJTextArea.getName());
    }

/* ***** */
    public void addApplicationMandatoryGUIElement(JComboBox parmJComboBox) {
      addApplicationMandatoryGUIElement(parmJComboBox.getName());
    }
/* --------------------
 * de:
 * Methode zum Einfügen einer EntryRule in vecEntryRules oder zum Ändern einer
 * bestehenden Regel.
 * Für die Bedeutung der Parameter sehen Sie bitte in der Inner-Class JSBS_EntryRule
 * nach.
 * en:
 * Method to add a EntryRule to vecEntryRules or change an existing one.
 * For the meaning of the parameters see the Inner-Class JSBS_EntryRule, please. */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   Boolean parmbolMandatory,
                                   BigDecimal parmbdMinimumValue,
                                   BigDecimal parmbdMaximumValue,
                                   Integer parmintNumberOfDecimals,
                                   Integer parmintMinimumLength,
                                   Integer parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* de: Prüfen, ob der übergebenen Parameter nicht 'null' ist.
 * en: Check that the passed parameter is not 'null'. */
      if (parmstrGUIElementName == null) return;
/* de:
 * Flag, ob eine neue EntryRule konstruiert werden muss oder eine besthende geändert werden muss.
 * en:
 * Flag if a new EntryRule has to be constructed or an existing one has to be updated. */
      boolean bolCreateEntryRuleObject = false;
/* de:
 * Ein Objekt für eine EntryRule definieren und prüfen, ob diese EntryRule bereits im Vector existiert.
 * en:
 * Define an object for an EntryRule and see if it is already within the vector. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de: Wenn der zurück gelieferte Wert 'null' war, dann muss ein neues Objekt erstellt werden.
 * en: If the returned value was 'null' a new object has to be created. */
      if (structJSBS_EntryRule == null) {
/* de: Den Merker setzen dass das neue Objekt später zum Vector hinzugefügt werden muss.
 * en: Set the flag to keep in mind that the new object has to be added to the vector later. */
        bolCreateEntryRuleObject = true;
/* de: Ein neues Objekt erstellen.
 * en: Create a new object. */
        structJSBS_EntryRule = new JSBS_EntryRule();
/* de: Den Namen des GUI-Elements setzen um zu wissen wofür die EntryRule gilt.
 * en: Set the name of the GUI-element to know where the new EntryRule is valid for. */
        structJSBS_EntryRule.strGUIElementName = parmstrGUIElementName;
      }
/* 
 * de:
 * Jeden Parameter überprüfen ob ein 'null'-Wert übergeben wurde; wenn der Wert nicht
 * 'null' ist dann den Parameter-Wert auf das EntryRule-Objekt übertragen.
 * en:
 * Check every parameter if a 'null'-value was passed; if not 'null'
 * then transfer the parameter value to the EntryRule-object. */
      if (parmbolMandatory != null) structJSBS_EntryRule.bolMandatory = parmbolMandatory;
      if (parmbdMinimumValue != null)
            structJSBS_EntryRule.
bdMinimumValue = parmbdMinimumValue;
      if (parmbdMaximumValue != null)
            structJSBS_EntryRule.
bdMaximumValue = parmbdMaximumValue;
      if (parmintNumberOfDecimals != null)
            structJSBS_EntryRule.
intNumberOfDecimals = parmintNumberOfDecimals;
      if (parmintMinimumLength != null)
            structJSBS_EntryRule.
intMinimumLength = parmintMinimumLength;
      if (parmintMaximumLength != null)
            structJSBS_EntryRule.
intMaximumLength = parmintMaximumLength;
      if (parmstrEntryFormat != null)
            structJSBS_EntryRule.
strEntryFormat = parmstrEntryFormat;
/* 
 * de:
 * Wenn das Objekt mit den EntryRules neu konstruiert wurde dann in den Vector einfügen.
 * en:
 * If the object with the EntryRules was newly constructed then add it to the vector. */
      if (bolCreateEntryRuleObject) vecEntryRules.addElement(structJSBS_EntryRule);
    }
/* 
 * de: Abwandlungen der Methode mit verschiedenen Typen für die Parameter.
 * en: Derivations of the method with different types for the parameters. */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   
boolean parmbolMandatory,
                                   BigInteger parmintMinimumValue,
                                   BigInteger parmintMaximumValue,
                                   Integer parmintNumberOfDecimals,
                                   Integer parmintMinimumLength,
                                   Integer parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* 
 * de:
 * Parameter in jene Typen, die von der Kern-Methode benötigt werden, umwandeln
 * und die Kern-Methode aufrufen.
 * en:
 * Convert the parameters to the type needed by the core-method and call the core-method. */
      setEntryRuleValues(parmstrGUIElementName, new Boolean(parmbolMandatory),
                         
new BigDecimal(parmintMinimumValue),
                         
new BigDecimal(parmintMaximumValue),
                         parmintNumberOfDecimals, parmintMinimumLength,
                         parmintMaximumLength, parmstrEntryFormat);
    }
/* *** */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   Boolean parmbolMandatory,
                                   
int parmintMinimumValue,
                                   BigInteger parmintMaximumValue,
                                   Integer parmintNumberOfDecimals,
                                   Integer parmintMinimumLength,
                                   Integer parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* 
 * de:
 * Parameter in jene Typen, die von der Kern-Methode benötigt werden, umwandeln
 * und die Kern-Methode aufrufen.
 * en:
 * Convert the parameters to the type needed by the core-method and call the core-method. */
      setEntryRuleValues(parmstrGUIElementName, parmbolMandatory,
                         
new BigDecimal(parmintMinimumValue),
                         
new BigDecimal(parmintMaximumValue),
                         parmintNumberOfDecimals, parmintMinimumLength,
                         parmintMaximumLength, parmstrEntryFormat);
    }
/* *** */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   Boolean parmbolMandatory,
                                   BigInteger parmintMinimumValue,
                                   
int parmintMaximumValue,
                                   Integer parmintNumberOfDecimals,
                                   Integer parmintMinimumLength,
                                   Integer parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* 
 * de:
 * Parameter in jene Typen, die von der Kern-Methode benötigt werden, umwandeln
 * und die Kern-Methode aufrufen.
 * en:
 * Convert the parameters to the type needed by the core-method and call the core-method. */
      setEntryRuleValues(parmstrGUIElementName, parmbolMandatory,
                         
new BigDecimal(parmintMinimumValue),
                         
new BigDecimal(parmintMaximumValue),
                         parmintNumberOfDecimals, parmintMinimumLength,
                         parmintMaximumLength, parmstrEntryFormat);
    }
/* *** */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   Boolean parmbolMandatory,
                                   
int parmintMinimumValue,
                                   
int parmintMaximumValue,
                                   Integer parmintNumberOfDecimals,
                                   Integer parmintMinimumLength,
                                   Integer parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* 
 * de:
 * Parameter in jene Typen, die von der Kern-Methode benötigt werden, umwandeln
 * und die Kern-Methode aufrufen.
 * en:
 * Convert the parameters to the type needed by the core-method and call the core-method. */
      setEntryRuleValues(parmstrGUIElementName, parmbolMandatory,
                         
new BigDecimal(parmintMinimumValue),
                         
new BigDecimal(parmintMaximumValue),
                         parmintNumberOfDecimals, parmintMinimumLength,
                         parmintMaximumLength, parmstrEntryFormat);
    }
/* *** */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   Boolean parmbolMandatory,
                                   BigInteger parmintMinimumValue,
                                   BigInteger parmintMaximumValue,
                                   
int parmintNumberOfDecimals,
                                   Integer parmintMinimumLength,
                                   Integer parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* 
 * de:
 * Parameter in jene Typen, die von der Kern-Methode benötigt werden, umwandeln
 * und die Kern-Methode aufrufen.
 * en:
 * Convert the parameters to the type needed by the core-method and call the core-method. */
      setEntryRuleValues(parmstrGUIElementName, parmbolMandatory,
                         
new BigDecimal(parmintMinimumValue),
                         
new BigDecimal(parmintMaximumValue),
                         
new Integer(parmintNumberOfDecimals), parmintMinimumLength,
                         parmintMaximumLength, parmstrEntryFormat);
    }
/* *** */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   Boolean parmbolMandatory,
                                   BigInteger parmintMinimumValue,
                                   BigInteger parmintMaximumValue,
                                   Integer parmintNumberOfDecimals,
                                   
int parmintMinimumLength,
                                   Integer parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* 
 * de:
 * Parameter in jene Typen, die von der Kern-Methode benötigt werden, umwandeln
 * und die Kern-Methode aufrufen.
 * en:
 * Convert the parameters to the type needed by the core-method and call the core-method. */
      setEntryRuleValues(parmstrGUIElementName, parmbolMandatory,
                         
new BigDecimal(parmintMinimumValue),
                         
new BigDecimal(parmintMaximumValue),
                         parmintNumberOfDecimals,
new Integer(parmintMinimumLength),
                         parmintMaximumLength, parmstrEntryFormat);
    }
/* *** */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   Boolean parmbolMandatory,
                                   BigInteger parmintMinimumValue,
                                   BigInteger parmintMaximumValue,
                                   Integer parmintNumberOfDecimals,
                                   Integer parmintMinimumLength,
                                   
int parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* 
 * de:
 * Parameter in jene Typen, die von der Kern-Methode benötigt werden, umwandeln
 * und die Kern-Methode aufrufen.
 * en:
 * Convert the parameters to the type needed by the core-method and call the core-method. */
      setEntryRuleValues(parmstrGUIElementName, parmbolMandatory,
                         
new BigDecimal(parmintMinimumValue),
                         
new BigDecimal(parmintMaximumValue),
                         parmintNumberOfDecimals, parmintMinimumLength,
                         
new Integer(parmintMaximumLength), parmstrEntryFormat);
    }
/* *** */
    public void setEntryRuleValues(String parmstrGUIElementName,
                                   Boolean parmbolMandatory,
                                   BigInteger parmintMinimumValue,
                                   BigInteger parmintMaximumValue,
                                   Integer parmintNumberOfDecimals,
                                   
int parmintMinimumLength,
                                   
int parmintMaximumLength,
                                   String parmstrEntryFormat) {
/* 
 * de:
 * Parameter in jene Typen, die von der Kern-Methode benötigt werden, umwandeln
 * und die Kern-Methode aufrufen.
 * en:
 * Convert the parameters to the type needed by the core-method and call the core-method. */
      setEntryRuleValues(parmstrGUIElementName, parmbolMandatory,
                         
new BigDecimal(parmintMinimumValue),
                         
new BigDecimal(parmintMaximumValue),
                         parmintNumberOfDecimals,
new Integer(parmintMinimumLength),
                         
new Integer(parmintMaximumLength), parmstrEntryFormat);
    }
/*
 * --------------------
 * de:
 * Methode zum Entfernen der Prüfregeln (EntryRule) für ein GUI-Element.

 * en:
 * Method to remove the verification-rules (EntryRule) for a GUI-element. */
    public void removeEntryRule(String parmstrGUIElementName) {
/* de: Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * en: Check that the passed parameter is not 'null'. */

      
if (parmstrGUIElementName == null) return;
/* de:
 * Durchsuchen des Vector ob für das im Parameter übergebene GUI-Element eine
 * Prüfregel (EntryRule) enthalten ist.
 * en:
 * Search the Vector if a verification-rule (EntryRule) is present for the GUI-element
 * passed as parameter. */
      int intVectorSize = vecEntryRules.size();
      JSBS_EntryRule locJSBS_EntryRule;
      
for (int intVectorIndex = intVectorSize - 1; intVectorIndex >= 0; intVectorIndex--) {
        locJSBS_EntryRule = (JSBS_EntryRule)
vecEntryRules.elementAt(intVectorIndex);
/* de:
 * Vergleichen ob der gesuchte Name (als Parameter übergeben) jener ist,
 * der aus dem Vector-Element ausgelesen wurde und das Vector-Element aus
 * dem Vector entfernen wenn der Vergleich stimmt.
 * en:
 * Compare if the searched name (passed as parameter) is matching the one of the
 * vector-element. If matching, remove the vector-element out of the vector. */
        if (locJSBS_EntryRule.strGUIElementName.compareTo(parmstrGUIElementName) == 0)
          vecEntryRules.removeElementAt(intVectorIndex);
      }
    }

/*
 * --------------------
 * de:
 * Methoden zum Prüfen ob ein Eingabe-Feld eine verpflichtende ('Mandatory')
 * erfordert.
 * In diesen Methoden werden die Methoden zum Prüfen der im Programm (Application)
 * definierten und der über die XML-Datei (Parameterized) definierten Felder
 * aufgerufen.

 * en:
 * Methods to verify if a Entry-Field needs a mandatory entry. 
 * Within this method, the methods to verify the entry-fields defined within
 * the apllication an in the XML-file (parameterized) are called. */
    public boolean checkMandatory(String parmGUIElementName) {
      
return (checkApplicationMandatory(parmGUIElementName)
              || checkParameterizedMandatory(parmGUIElementName));
    }

/* ***** */
    public boolean checkMandatory(JTextField parmJTextField) {
      
return (checkApplicationMandatory(parmJTextField.getName())
              || checkParameterizedMandatory(parmJTextField.getName()));
    }

/* ***** */
    public boolean checkMandatory(JTextArea parmJTextArea) {
      
return (checkApplicationMandatory(parmJTextArea.getName())
              || checkParameterizedMandatory(parmJTextArea.getName()));
    }

/* ***** */
    public boolean checkMandatory(JComboBox parmJComboBox) {
      
return (checkApplicationMandatory(parmJComboBox.getName())
              || checkParameterizedMandatory(parmJComboBox.getName()));
    }

/*
 * --------------------
 * de:
 * Methode zum Prüfen ob ein GUI-Element innerhalb des Anwendungsprogramms
 * als 'Mandatory' (mit verpflichtender Eingabe) definiert wurde.
 * (Das geschieht durch die Methode 'addApplicationMandatoryGUIElement(...)'.)
 * Die Methode liefert 'true' zurück wenn der - im Parameter übergebene - Namen
 * des GUI-Elements im Vector 'vecApplicationMandatoryFields' enthalten ist.
 * en:

 * Method to check if a GUI-element is defined as 'Mandatory' (input requiered)
 * within the application.
 * (The definition is done with method 'addApplicationMandatoryGUIElement(...)'.)
 * The method return 'true' if the Name of the GUI-Element - passed in the
 * parameter - is contained within the Vector 'vecApplicationMandatoryFields'.
 *  */
    public boolean checkApplicationMandatory(String parmstrGUIElementName) {
/* de: Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * en: Check that the passed parameter is not 'null'. */
      if (parmstrGUIElementName == null) return false;
/* de: Zeichenkette für den Namen des GUI-Element-Namen aus dem Vector.
 * en: String holding the GUI-Element-name derived from the Vector. */
      String strGUIElementName;
/* de:
 * Durchsuchen des Vector if die als Parameter übergebene Zeichenkette
 * enthalten ist.
 * en:
 * Search the Vector if the string passed as parameter is alredy there. */
      int intVectorSize = vecApplicationMandatoryFields.size();
      
for (int intVectorIndex = 0; intVectorIndex < intVectorSize; intVectorIndex++) {
        strGUIElementName = (String)
                           
vecApplicationMandatoryFields.elementAt(intVectorIndex);
/* de:
 * Vergleichen ob der gesuchte Name (als Parameter übergeben) jener ist,
 * der aus dem Vector ausgelesen wurde und 'true' zurückliefern wenn der
 * Vergleich stimmt.
 * en:
 * Compare if the searched name (passed as parameter)
 * is the one out of the vector and return 'true' if matching. */
        if (strGUIElementName.compareTo(parmstrGUIElementName.trim()) == 0) return true;
      }
/* de: Name des gesuchten GUI-Elements nicht im Vector; 'false' zurückliefern.
 * en: Name of the searched GUI-element not within the vector; return false. */
      return false;
    }

/*
 * --------------------
 * de:
 * Methode zum Prüfen ob ein Eingabe-Feld eine verpflichtende ('Mandatory')
 * erfordert.

 * en:
 * Method to verify if a Entry-Field needs a mandatory entry. */
    public boolean checkParameterizedMandatory(String parmstrGUIElementName) {
/* de: Prüfen dass der übergebene Parameter nicht 'null' ist.
 * en: Check that the passed parameter is not 'null'. */
      if (parmstrGUIElementName == null) return false;
/*
 * de:
 * Prüfen, ob das Feld in der XML-Struktur in der Datei
 * 'DisplayStrings.xml' als 'Mandatory' definiert ist.
 * en:
 * Verify if the field is defined as 'Mandatory' within the
 * XML-structure in the file 'DisplayStrings.xml'. */

/*
 * de: EntryRule-Objekt für den übergebenen GUI-Element-Namen 'holen'.
 * en: Get the EntryRule-object for the passed GUI-element-name. */

      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de: 'false' zurückliefern wenn keine EntryRule definiert ist.
 * en: Return false if no EntryRule defined. */
      if (structJSBS_EntryRule == null) return false;
/* de:
 * 'false' zurückliefern wenn keine Regel für 'Mandatory' in der EntryRule
 * definiert ist.
 * en:
 * Return false if 'Mandatory' in the EntryRule is not already set. */
      if (structJSBS_EntryRule.bolMandatory == null) return false;
/* de:
 * Wenn das Programm bis hierher gekommen ist dann ist eine Regel für
 * 'Mandatory' festgelegt; diese zurückliefern.
 * en:
 * Program running till here means that 'Mandatory'-rule in the EntryRule was set;
 * return the value. */
      return structJSBS_EntryRule.bolMandatory.booleanValue();
    }

/*
 * --------------------
 * de:
 * Methode zum Prüfen ob der Wert nicht größer ist als der erlaubte
 * Maximal-Wert für das Feld.
 * Die Methode liefert 'true' zurück wenn der übergebene Wert kleiner oder
 * gleich als der erlaubte Maximal-Wert ist.
 * en:

 * Method to verify if the value is not greater than the permitted maximum value
 * for the field.
 * Method returns 'true' if the passed value is less than or equal
 * to the defined maximum value. */
    public boolean checkMaximumValue(String parmstrGUIElementName,
                                     BigDecimal parmbdValue) {
/* de: Prüfen, dass die übergebenen Parameter nicht 'null' sind.
 * en: Check that the passed parameters are not 'null'. */
      if (parmstrGUIElementName == null) return false;
      
if (parmbdValue == null) return false;
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn keine Entry-Rule existiert.
 * en: Return 'true' (fulfilled) if no EntryRule defined. */
      if (structJSBS_EntryRule == null) return true;
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn kein 'Maximal-Wert' definiert ist.
 * en: Return true if 'MaximumValue' in the EntryRule is not already set. */
      if (structJSBS_EntryRule.bdMaximumValue == null) return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist ein 'Maximal-Wert'
 * in der EntryRule definiert; diesen mit dem Parameter-Wert vergleichen.
 * en:
 * Come till here means that MaximumValue in the EntryRule was set;
 * compare with the parameter. */
      if (parmbdValue.compareTo(structJSBS_EntryRule.bdMaximumValue) <= 0) return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist der Parameter-Wert
 * größer als der in der EntryRule definiert 'Maximal-Wert'.
 * 'false' zurückliefern weil die Prüfbedingung nicht erfüllt ist
 * en:
 * Come till here means that the value passed as parameter is greater than
 * the 'maximum-value' defined in the EntryRule.
 * Return 'false' because the check failed. */
      return false;
    }
/*
 * --------------------
 * de:
 * 'Wrapper'-Methoden zum Übergeben des Vergleichswertes als anderer Typ.
 * en:

 * Methods as wrappers to pass other types for the value to be compared. */
    public boolean checkMaximumValue(String parmstrGUIElementName,
                                     BigInteger parmintValue) {
      
return checkMaximumValue(parmstrGUIElementName, new BigDecimal(parmintValue));
    }

    public boolean checkMaximumValue(String parmstrGUIElementName,
                                     Integer parmintValue) {
      
return checkMaximumValue(parmstrGUIElementName, new BigDecimal(parmintValue));
    }
    public boolean checkMaximumValue(String parmstrGUIElementName,
                                     int parmintValue) {
      
return checkMaximumValue(parmstrGUIElementName, new BigDecimal(parmintValue));
    }
/*
 * --------------------
 * de:
 * Methode zum Prüfen ob der Wert nicht kleiner ist als der erlaubte
 * Minimal-Wert für das Feld.
 * Die Methode liefert 'true' zurück wenn der übergebene Wert gleich oder
 * größer als der erlaubte Minimal-Wert ist.
 * en:

 * Method to verify if the value is not less than the permitted minimum value
 * for the field.
 * Method returns 'true' if the passed value is greater or equal
 * to the defined minimum value. */
    public boolean checkMinimumValue(String parmstrGUIElementName,
                                     BigDecimal parmbdValue) {
/* de: Prüfen, dass die übergebenen Parameter nicht 'null' sind.
 * en: Check that the passed parameters are not 'null'. */
      if (parmstrGUIElementName == null) return false;
      
if (parmbdValue == null) return false;
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn keine Entry-Rule existiert.
 * en: Return 'true' (fulfilled) if no EntryRule defined. */
      if (structJSBS_EntryRule == null) return true;
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn kein 'Minimal-Wert' definiert ist.
 * en: Return true if 'MinimumValue' in the EntryRule is not already set. */
      if (structJSBS_EntryRule.bdMinimumValue == null) return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist ein 'Minimal-Wert'
 * in der EntryRule definiert; diesen mit dem Parameter-Wert vergleichen.
 * en:
 * Come till here means that MinimumValue in the EntryRule was set;
 * compare with the parameter. */
      if (parmbdValue.compareTo(structJSBS_EntryRule.bdMinimumValue) >= 0) return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist der Parameter-Wert
 * kleiner als der in der EntryRule definiert 'Minimal-Wert'.
 * 'false' zurückliefern weil die Prüfbedingung nicht erfüllt ist
 * en:
 * Come till here means that the value passed as parameter is less than
 * the 'minimum-value' defined in the EntryRule.
 * Return 'false' because the check failed. */
      return false;
    }
/*
 * --------------------
 * de:
 * 'Wrapper'-Methoden zum Übergeben des Vergleichswertes als anderer Typ.
 * en:

 * Methods as wrappers to pass other types for the value to be compared. */
    public boolean checkMinimumValue(String parmstrGUIElementName,
                                     BigInteger parmintValue) {
      
return checkMinimumValue(parmstrGUIElementName, new BigDecimal(parmintValue));
    }

    public boolean checkMinimumValue(String parmstrGUIElementName,
                                     Integer parmintValue) {
      
return checkMinimumValue(parmstrGUIElementName, new BigDecimal(parmintValue));
    }
    public boolean checkMinimumValue(String parmstrGUIElementName,
                                     int parmintValue) {
      
return checkMinimumValue(parmstrGUIElementName, new BigDecimal(parmintValue));
    }
/*
 * --------------------
 * de:
 * Methode zum Prüfen ob die Anzahl der Stellen nach dem Komma innerhalb des
 * festgelegten Wertes bleibt.
 * Die Methode liefert 'true' zurück wenn die Anzahl der Dezimalstellen des 
 * BigDecimal-Wertes kleiner oder gleich dem erlaubten Wert ist.
 * en:

 * Method to verify if the number of decimals is within the specified value.
 * Method returns 'true' if the number of decimals of the BigDecimal-value
 * is less than or equal to the permitted value. */
    public boolean checkNumberOfDecimals(String parmstrGUIElementName,
                                     BigDecimal parmbdValue) {
/* de: Prüfen, dass die übergebenen Parameter nicht 'null' sind.
 * en: Check that the passed parameters are not 'null'. */
      if (parmstrGUIElementName == null) return false;
      
if (parmbdValue == null) return false;
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn keine Entry-Rule existiert.
 * en: Return 'true' (fulfilled) if no EntryRule defined. */
      if (structJSBS_EntryRule == null) return true;
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn kein Wert für die 'Anzahl der Kommastellen'
 * definiert ist.
 * en: Return true if 'NumberOfDecimals' in the EntryRule is not already set. */
      if (structJSBS_EntryRule.intNumberOfDecimals == null) return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist ein Wert für die 'Anzahl der Kommastellen'
 * in der EntryRule definiert; diesen mit den Kommastellen aus dem Parameter-Wert vergleichen.
 * en:
 * Coming till here means that NumberOfDecimals in the EntryRule was set;
 * compare with the number of decimals in the parameter. */
      if (parmbdValue.scale() <= structJSBS_EntryRule.intNumberOfDecimals.intValue()) return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist die Anzahl der Kommastellen im Parameter-Wert
 * größer als der in der EntryRule definierte Wert für 'NumberOfDecimals'.
 * 'false' zurückliefern weil die Prüfbedingung nicht erfüllt ist
 * en:
 * Come till here means that the number of decimals of the value passed as parameter is greater than
 * the 'number of decimals' defined in the EntryRule.
 * Return 'false' because the check failed. */
      return false;
    }

/*
 * --------------------
 * de:
 * Methode zum Prüfen, ob der übergebene Wert innerhalb des definierten Minimums
 * und Maximums ist und (bei BigDecimal) nicht zu viele Kommastellen enthält.
 * Die Methode liefert 'true' zurück wenn der zu prüfende Wert gleich oder 
 * größer dem definierten Minimal-Wert und kleiner oder gleich dem definierten
 * Maximal-Wert ist.
 * Es sind mehrere Methoden mit verschiedenen Typen für den zu vergleichenden
 * Wert implementiert.
 * en:

 * Method to check that the passed value is within the defined minimum and maximum
 * and (in case of BigDecimal) the number of decimals is not exceeded.
 * Method returns 'true' if the passed value is greater or equal the defined minimum
 * value and less than or equal the defined maximum value.
 * There are several methods with different types for the value to be compared. */
    public boolean checkValueRange(String parmstrGUIElementName,
                                   BigDecimal parmbdValue) {
      
return (  (checkMinimumValue(parmstrGUIElementName, parmbdValue))
              && (checkMaximumValue(parmstrGUIElementName, parmbdValue))
              && (checkNumberOfDecimals(parmstrGUIElementName, parmbdValue)));
    }

    public boolean checkValueRange(String parmstrGUIElementName,
                                   BigInteger parmintValue) {
      
return (  (checkMinimumValue(parmstrGUIElementName, parmintValue))
              && (checkMaximumValue(parmstrGUIElementName, parmintValue)));
    }
    public boolean checkValueRange(String parmstrGUIElementName,
                                   Integer parmintValue) {
      
return ( (checkMinimumValue(parmstrGUIElementName, parmintValue))
              && (checkMaximumValue(parmstrGUIElementName, parmintValue)));
    }
    public boolean checkValueRange(String parmstrGUIElementName,
                                   int parmintValue) {
      
return ( (checkMinimumValue(parmstrGUIElementName, parmintValue))
              && (checkMaximumValue(parmstrGUIElementName, parmintValue)));
    }
/*
 * --------------------
 * de:
 * Methode zum Prüfen ob die Länge der eingegebenen Zeichenkette nicht kürzer 
 * ist als die erlaubte Minimal-Länge für das Feld.
 * Die Methode liefert 'true' zurück wenn der übergebene Wert gleich oder
 * größer als der erlaubte Minimal-Wert ist.
 * en:

 * Method to verify if the length of an entered string is not less 
 * than the permitted minimum value for the field.
 * Method returns 'true' if the passed value is greater or equal
 * to the defined minimum value. */
    public boolean checkMinimumLength(String parmstrGUIElementName,
                                      Integer parmintValue) {
/* de: Prüfen, dass die übergebenen Parameter nicht 'null' sind.
 * en: Check that the passed parameters are not 'null'. */
      if (parmstrGUIElementName == null) return false;
      
if (parmintValue == null) return false;
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn keine Entry-Rule existiert.
 * en: Return 'true' (fulfilled) if no EntryRule defined. */
      if (structJSBS_EntryRule == null) return true;
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn kein 'Minimal-Wert' definiert ist.
 * en: Return true if 'MinimumValue' in the EntryRule is not already set. */
      if (structJSBS_EntryRule.intMinimumLength == null) return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist eine 'Minimal-Länge'
 * in der EntryRule definiert; diesen mit dem Parameter-Wert vergleichen.
 * en:
 * Come till here means that MinimumLength in the EntryRule was set;
 * compare with the parameter. */
      if (parmintValue.compareTo(structJSBS_EntryRule.intMinimumLength) >= 0)
          return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist der Parameter-Wert
 * kleiner als die in der EntryRule definiert 'Minimal-Länge'.
 * 'false' zurückliefern weil die Prüfbedingung nicht erfüllt ist
 * en:
 * Come till here means that the value passed as parameter is less than
 * the 'minimum-length' defined in the EntryRule.
 * Return 'false' because the check failed. */
      return false;
    }
/*
 * --------------------
 * de:
 * 'Wrapper'-Methoden zum Übergeben des Vergleichswertes als anderer Typ.
 * en:

 * Methods as wrappers to pass other types for the value to be compared. */
    public boolean checkMinimumLength(String parmstrGUIElementName,
                                      
int parmintValue) {
      
return checkMinimumLength(parmstrGUIElementName, new Integer(parmintValue));
    }

/*
 * --------------------
 * de:
 * Methode zum Prüfen ob die Länge der eingegebenen Zeichenkette nicht länger 
 * ist als die erlaubte Maximal-Länge für das Feld.
 * Die Methode liefert 'true' zurück wenn der übergebene Wert gleich oder
 * kleiner als der erlaubte Maximal-Wert ist.
 * en:

 * Method to verify if the length of an entered string is not greater
 * than the permitted maximum length for the field.
 * Method returns 'true' if the passed value is smaller or equal
 * to the defined maximum length. */
    public boolean checkMaximumLength(String parmstrGUIElementName,
                                      Integer parmintValue) {
/* de: Prüfen, dass die übergebenen Parameter nicht 'null' sind.
 * en: Check that the passed parameters are not 'null'. */
      if (parmstrGUIElementName == null) return false;
      
if (parmintValue == null) return false;
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn keine Entry-Rule existiert.
 * en: Return 'true' (fulfilled) if no EntryRule defined. */
      if (structJSBS_EntryRule == null) return true;
/* de: 'true' (Bedingung erfüllt) zurückliefern wenn kein 'Maximal-Wert' definiert ist.
 * en: Return true if 'MaximumValue' in the EntryRule is not already set. */
      if (structJSBS_EntryRule.intMaximumLength == null) return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist eine 'Maximal-Länge'
 * in der EntryRule definiert; diesen mit dem Parameter-Wert vergleichen.
 * en:
 * Come till here means that MaximumLength in the EntryRule was set;
 * compare with the parameter. */
      if (parmintValue.compareTo(structJSBS_EntryRule.intMaximumLength) <= 0)
          return true;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist der Parameter-Wert
 * größer als die in der EntryRule definiert 'Maximal-Länge'.
 * 'false' zurückliefern weil die Prüfbedingung nicht erfüllt ist
 * en:
 * Come till here means that the value passed as parameter is greater than
 * the 'maximum-length' defined in the EntryRule.
 * Return 'false' because the check failed. */
      return false;
    }
/*
 * --------------------
 * de:
 * 'Wrapper'-Methoden zum Übergeben des Vergleichswertes als anderer Typ.
 * en:

 * Methods as wrappers to pass other types for the value to be compared. */
    public boolean checkMaximumLength(String parmstrGUIElementName,
                                      
int parmintValue) {
      
return checkMaximumLength(parmstrGUIElementName, new Integer(parmintValue));
    }

/*
 * --------------------
 * de:
 * Methode zum Prüfen, ob der übergebene Wert innerhalb des definierten 
 * Minimums und Maximums für die Länge einer Zeichenkette ist.
 * Die Methode liefert 'true' zurück wenn der zu prüfende Wert gleich oder 
 * größer dem definierten Minimal-Wert und kleiner oder gleich dem definierten
 * Maximal-Wert ist.
 * Es sind mehrere Methoden mit verschiedenen Typen für den zu vergleichenden
 * Wert implementiert.
 * en:

 * Method to check that the passed value is within the defined minimum and maximum
 * for a string of characters.
 * Method returns 'true' if the passed value is greater or equal the defined minimum
 * value and less than or equal the defined maximum value.
 * There are several methods with different types for the value to be compared. */
    public boolean checkLengthRange(String parmstrGUIElementName,
                                    
int parmintValue) {
      
return (  (checkMinimumLength(parmstrGUIElementName, parmintValue))
              && (checkMaximumLength(parmstrGUIElementName, parmintValue)));
    }

/*
 * --------------------
 * de:
 * Methode zum 'Holen' des minimal erlaubten Eingabewertes aus der
 * Prüf-Regel für das GUI-Element, dessen Name im Parameter übergeben wurde.
 * Wenn keine Prüf-Regel definiert ist oder bei der Prüf-Regel kein
 * Minimal-Wert festgelegt ist, dann wird der in Java festgelegte
 * kleinste Wert für die Klasse 'Integer' zurückgeliefert.
 * en:

 * Method to 'get' the lowest permitted value to be entered out of the 
 * Entry-Rule for the GUI-Element which name is passed as parameter.
 * If no Entry-Rule is defined or no Minimum-Value is defined with the
 * Entry-Rule, then the smallest value for the class 'Integer' (as defined
 * within Java) is returned. */
    public BigDecimal getMinimumValue(String parmstrGUIElementName) {
/* de:
 * Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * Bei 'null' den kleinsten in Java definierten Wert für die Klasse 'Integer'
 * zurückliefern.
 * en:

 * Check that the passed parameter is not 'null'.
 * If 'null', then return the smallest defined value for class 'Integer'. */
      if (parmstrGUIElementName == null)
              return new BigDecimal(Integer.MIN_VALUE);
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de:
 * Wenn die gesuchte Prüf-Regel nicht definiert ist dann den kleinsten in Java
 * definierten Wert für die Klasse 'Integer'zurückliefern.
 * en:

 * If the requested EntryRule is not defined, 
 * then return the smallest defined value for class 'Integer'. */
      if (structJSBS_EntryRule == null)
              return new BigDecimal(Integer.MIN_VALUE);
/* de:
 * Wenn die gesuchte Prüf-Regel existiert aber kein Minimal-Wert definiert ist dann
 * ebenfalls den kleinsten in Java definierten Wert für die Klasse
 * 'Integer'zurückliefern.
 * en:

 * If the requested EntryRule exists but a Minimum-Value is not defined, 
 * then return the smallest defined value for class 'Integer', too. */
      if (structJSBS_EntryRule.bdMinimumValue == null)
              return new BigDecimal(Integer.MIN_VALUE);
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist ein 'Minimal-Wert'
 * in der EntryRule definiert; diesen zurückliefern.
 * en:
 * Come till here means that MinimumValue in the EntryRule was set;
 * return this value. */
      return structJSBS_EntryRule.bdMinimumValue;
    }

/*
 * --------------------
 * de:
 * Methode zum 'Holen' des maximal erlaubten Eingabewertes aus der
 * Prüf-Regel für das GUI-Element, dessen Name im Parameter übergeben wurde.
 * Wenn keine Prüf-Regel definiert ist oder bei der Prüf-Regel kein
 * Maximal-Wert festgelegt ist, dann wird der in Java festgelegte
 * größte Wert für die Klasse 'Integer' zurückgeliefert.
 * en:

 * Method to 'get' the highest permitted value to be entered out of the 
 * Entry-Rule for the GUI-Element which name is passed as parameter.
 * If no Entry-Rule is defined or no Maximum-Value is defined with the
 * Entry-Rule, then the biggest value for the class 'Integer' (as defined
 * within Java) is returned. */
    public BigDecimal getMaximumValue(String parmstrGUIElementName) {
/* de:
 * Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * Bei 'null' den größten in Java definierten Wert für die Klasse 'Integer'
 * zurückliefern.
 * en:

 * Check that the passed parameter is not 'null'.
 * If 'null', then return the biggest defined value for class 'Integer'. */
      if (parmstrGUIElementName == null)
              return new BigDecimal(Integer.MAX_VALUE);
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de:
 * Wenn die gesuchte Prüf-Regel nicht definiert ist dann den größten in Java
 * definierten Wert für die Klasse 'Integer'zurückliefern.
 * en:

 * If the requested EntryRule is not defined, 
 * then return the biggest defined value for class 'Integer'. */
      if (structJSBS_EntryRule == null)
              return new BigDecimal(Integer.MAX_VALUE);
/* de:
 * Wenn die gesuchte Prüf-Regel existiert aber kein Maximal-Wert definiert ist dann
 * ebenfalls den größten in Java definierten Wert für die Klasse
 * 'Integer' zurückliefern.
 * en:

 * If the requested EntryRule exists but a Maximum-Value is not defined, 
 * then return the biggest defined value for class 'Integer', too. */
      if (structJSBS_EntryRule.bdMaximumValue == null)
              return new BigDecimal(Integer.MAX_VALUE);
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist ein 'Maximal-Wert'
 * in der EntryRule definiert; diesen zurückliefern.
 * en:
 * Come till here means that MaximumValue in the EntryRule was set;
 * return this value. */
      return structJSBS_EntryRule.bdMaximumValue;
    }

/*
 * --------------------
 * de:
 * Methode zum 'Holen' der maximal erlaubten Anzahl der Dezimalstellen aus der
 * Prüf-Regel für das GUI-Element, dessen Name im Parameter übergeben wurde.
 * Wenn keine Prüf-Regel definiert ist oder bei der Prüf-Regel kein
 * Wert für die Anzahl der Dezimalstellen festgelegt ist, dann wird der in Java
 * festgelegte größte Wert für die Klasse 'Integer' zurückgeliefert.
 * en:

 * Method to 'get' the highest permitted number of decimal digits to be entered out of the 
 * Entry-Rule for the GUI-Element which name is passed as parameter.
 * If no Entry-Rule is defined or no value for the decimal digits is defined with the
 * Entry-Rule, then the biggest value for the class 'Integer' (as defined
 * within Java) is returned. */
    public Integer getNumberOfDecimals(String parmstrGUIElementName) {
/* de:
 * Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * Bei 'null' den größten in Java definierten Wert für die Klasse 'Integer'
 * zurückliefern.
 * en:

 * Check that the passed parameter is not 'null'.
 * If 'null', then return the biggest defined value for class 'Integer'. */
      if (parmstrGUIElementName == null)
              return new Integer(Integer.MAX_VALUE);
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de:
 * Wenn die gesuchte Prüf-Regel nicht definiert ist dann den größten in Java
 * definierten Wert für die Klasse 'Integer'zurückliefern.
 * en:

 * If the requested EntryRule is not defined, 
 * then return the biggest defined value for class 'Integer'. */
      if (structJSBS_EntryRule == null)
              return new Integer(Integer.MAX_VALUE);
/* de:
 * Wenn die gesuchte Prüf-Regel existiert aber kein Wert für die Anzahl der Dezimalstellen
 * definiert ist dannebenfalls den größten in Java definierten Wert für die Klasse
 * 'Integer' zurückliefern.
 * en:

 * If the requested EntryRule exists but a value for the decimal digits is not defined, 
 * then return the biggest defined value for class 'Integer', too. */
      if (structJSBS_EntryRule.intNumberOfDecimals == null)
              return new Integer(Integer.MAX_VALUE);
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist ein Wert für die Anzahl der Dezimalstellen
 * in der EntryRule definiert; diesen zurückliefern.
 * en:
 * Come till here means that NumberOfDecimals in the EntryRule was set;
 * return this value. */
      return structJSBS_EntryRule.intNumberOfDecimals;
    }

/*
 * --------------------
 * de:
 * Methode zum 'Holen' der minimal erlaubten Länge für eine eingegebene
 * Zeichenkette aus der Prüf-Regel für das GUI-Element dessen Name
 * im Parameter übergeben wurde.
 * Wenn keine Prüf-Regel definiert ist oder bei der Prüf-Regel keine
 * Minimal-Länge festgelegt ist, dann wird der Wert '0' zurückgeliefert.
 * en:

 * Method to 'get' the shortest permitted length of a string to be entered  
 * for the GUI-Element which name is passed as parameter out of the 
 * Entry-Rule.
 * If no Entry-Rule is defined or no Minimum-Length is defined with the
 * Entry-Rule, then the value '0' is returned. */
    public int getMinimumLength(String parmstrGUIElementName) {
/* de:
 * Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * Bei 'null' wird der Wert '0' zurückgeliefert.
 * en:

 * Check that the passed parameter is not 'null'.
 * If 'null', then return '0'. */
      if (parmstrGUIElementName == null) return 0;
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de:
 * Wenn die gesuchte Prüf-Regel nicht definiert ist dann '0' zurückliefern.
 * en:

 * If the requested EntryRule is not defined, 
 * then return '0'. */
      if (structJSBS_EntryRule == null) return 0;
/* de:
 * Wenn die gesuchte Prüf-Regel existiert aber keine Minimal-Länge definiert ist
 * dann ebenfalls '0' zurückliefern.
 * en:

 * If the requested EntryRule exists but a Minimum-Length is not defined, 
 * then return '0', too. */
      if (structJSBS_EntryRule.intMinimumLength == null) return 0;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist eine 'Minimal-Länge'
 * in der EntryRule definiert; diese zurückliefern.
 * en:
 * Come till here means that MinimumLength in the EntryRule was set;
 * return this value. */
      return structJSBS_EntryRule.intMinimumLength;
    }

/*
 * --------------------
 * de:
 * Methode zum 'Holen' der maximal erlaubten Länge für eine eingegebene
 * Zeichenkette aus der Prüf-Regel für das GUI-Element dessen Name
 * im Parameter übergeben wurde.
 * Wenn keine Prüf-Regel definiert ist oder bei der Prüf-Regel keine
 * Maximal-Länge festgelegt ist, dann wird der in Java festgelegte
 * größte Wert für die Klasse 'Integer' zurückgeliefert.
 * en:

 * Method to 'get' the maximal permitted length of a string to be entered
 * out of the Entry-Rule for the GUI-Element which name is passed as parameter.
 * If no Entry-Rule is defined or no Maximum-Length is defined with the
 * Entry-Rule, then the biggest value for the class 'Integer' (as defined
 * within Java) is returned. */
    public int getMaximumLength(String parmstrGUIElementName) {
/* de:
 * Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * Bei 'null' den größten in Java definierten Wert für die Klasse 'Integer'
 * zurückliefern.
 * en:

 * Check that the passed parameter is not 'null'.
 * If 'null', then return the biggest defined value for class 'Integer'. */
      if (parmstrGUIElementName == nullreturn Integer.MAX_VALUE;
/* de: EntryRule-Objekt für den übergebenen GUI-Element-Namen holen.
 * en: Get the EntryRule-object for the passed GUI-element-name. */
      JSBS_EntryRule structJSBS_EntryRule = getEntryRuleObject(parmstrGUIElementName);
/* de:
 * Wenn die gesuchte Prüf-Regel nicht definiert ist dann den größten in Java
 * definierten Wert für die Klasse 'Integer' zurückliefern.
 * en:

 * If the requested EntryRule is not defined, 
 * then return the biggest defined value for class 'Integer'. */
      if (structJSBS_EntryRule == nullreturn Integer.MAX_VALUE;
/* de:
 * Wenn die gesuchte Prüf-Regel existiert aber keine Maximal-Länge definiert ist,
 * dann ebenfalls den größten in Java definierten Wert für die Klasse
 * 'Integer'zurückliefern.
 * en:

 * If the requested EntryRule exists but a Maximum-Length is not defined, 
 * then return the biggest defined value for class 'Integer', too. */
      if (structJSBS_EntryRule.intMaximumLength == nullreturn Integer.MAX_VALUE;
/* de:
 * Wenn der Algorithmus bis hierher gekommen ist, dann ist eine 'Maximal-Länge'
 * in der EntryRule definiert; diesen Wert zurückliefern.
 * en:
 * Come till here means that a MaximumLength in the EntryRule was set;
 * return this value. */
      return structJSBS_EntryRule.intMaximumLength;
    }
/* --------------------
 * de:
 * Methode zum 'Herausholen' der EntryRule für einen gegebenen Namen eins GUI-Elements.
 * Die Methode liefer 'null' zurück wenn keine EntryRule definiert ist.
 * en:

 * Method to get the EntryRule for the given GUI-element name.
 * Method returns 'null' if an EntryRule is not defined. */
    private JSBS_EntryRule getEntryRuleObject(String parmstrGUIElementName) {
/* de: Prüfen, dass der übergebene Parameter nicht 'null' ist.
 * en: Check that the passed parameter is not 'null'. */
      if (parmstrGUIElementName == null) return null;
/* de: Struktur zum halten einer EntryRule aus dem Vector.
 * en: Structure holding one EntryRule out of the vector. */
      JSBS_EntryRule structJSBS_EntryRule = null;
/* de:
 * Durchsuchen des Vectors ob die als Parameter übergebene Zeichenkette enthalten ist.
 * en:
 * Search the vector if the string passed as parameter is alredy there. */
      int intVectorSize = vecEntryRules.size();
      
for (int intVectorIndex = 0; intVectorIndex < intVectorSize; intVectorIndex++) {
        structJSBS_EntryRule = (JSBS_EntryRule)
vecEntryRules.elementAt(intVectorIndex);
/* de:
 * Vergleichen ob der gesuchte Name jener innerhalb des Vectors ist und 'true' zurück liefern
 * wenn der Vergleich erfolgreich ist.
 * en:
 * Compare if the searched name is the one out of the vector and return 'true' if matching. */
        if (structJSBS_EntryRule.strGUIElementName.compareTo(parmstrGUIElementName.trim()) == 0)
            
return structJSBS_EntryRule;
      }
/* de: Keine passende EntryRule gefunden; 'null' zurück liefern.
 * en: No matching EntryRule found; return 'null'. */
      return null;
    }
}

zum Inhaltsverzeichnis

Erklärungen und Anwendungsbeispiele

xxx

zum Inhaltsverzeichnis

Verwandte Dokumentation

Dokument

Inhalt

Leitfaden für die Entwicklung von Heavyweight-Clients mit dem JS-FCF – Notwendige Schritte zur Entwicklung des StartFrames  

Dieser Leitfaden enthält die notwendigen Tätigkeiten für die Entwicklung eines StartFrame (auch als Command-Center bekannt).
Das StartFrame stellt die Möglichkeiten bereit, verschiedene TaskFrames für die Bearbeitung von Geschäftsfällen aufzurufen.
Weiters ist im StartFrame jener Programm-Code enthalten, der die Verbindung zum Datenbanksystem bzw. zum Java-Application-Server (JAS) herstellt.

zum Inhaltsverzeichnis