Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Auszug
hiddentrue

Nuclos ParameterProvider: getSystemParameter, getNucletParameter, NuclosSystemParameter, NucletParameter, SMTP, POP3.

globe with meridians Sprache: Deutsch · English

open book ParameterProvider

System- und Nucletparameter in Regeln auslesen – getSystemParameter, getNucletParameter.

Status
colourGrey
titleReferenz
Status
colourBlue
titleEntwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel2

Wozu dient der ParameterProvider?

Der ParameterProvider liest System- und Nucletparameter aus. Beide werden in Nuclos angelegt und für Regeln als Konstanten generiert (Klassengenerierung).

getSystemParameter(parameter)

Liest einen instanzweiten Systemparameter (z.​B. SMTP/POP3-Daten). Konstanten in der Klasse NuclosSystemParameter.

Codeblock
languagejava

Allgemein

Der ParameterProvider ist eine Hilfsklasse, die alle notwendigen Methoden zum Auslesen von System- und Nucletparametern zur Verfügung stellt.

Funktionsumfang

 

...

Diese Methode ermöglicht das Auslesen von Nuclet unabhängigen Systemparametern, worunter man system- bzw. serverbezogene Werte versteht, die für eine einzelne Nuclos Instanz angelegt wurden. Dazu gehören beispielsweise SMTP- und POP3 Zugangsdaten. 

Systemparameter werden in Nuclos angelegt und für die Regelprogrammierung in der generierten Klasse "NuclosSystemParameter" als Konstanten vom Typ SystemParameter zur Verfügung gestellt. 

Am Beispiel: Es werden POP3 Daten in Nuclos hinterlegt. Es gibt unter anderem den Parameter POP3Username. Die generierte Klasse "NuclosSystemParameter" besitzt dann folgende Konstante: NuclosSystemParameter.POP3Username;

Dieser kann dann der Methode getSystemParameter() übergeben werden:

...

public static String getSystemParameter(SystemParameter parameter) throws BusinessException;
Codeblock
languagejava
package org.nuclet.businessentity; 
 
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.context.UpdateContext;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.ParameterProvider;
import org.nuclos.api.rule.UpdateRule;
import org.nuclos.parameter.NuclosSystemParameter;
 
/** @name       
  * @description
  * @usage      
  * @change     
*/
@Rule(name="SendConfirmationEmail", description="SendConfirmationEmail")
public class SendConfirmationEmail implements UpdateRule {
    public void 

...

update(UpdateContext context) throws BusinessException {
     
       Auftrag a = context.getBusinessObject(Auftrag.class);
 
       if(a.isApproved()) {
           String useEmail = ParameterProvider.getSystemParameter(NuclosSystemParameter.ConfirmationEmailIsActive);
           
		   // First check, if the value of this parameter is not null
           if (useEmail != null) {
                if (usrEmail.equals("Y")) {
                    // Following method creates a NuclosEmail and sends it to the user mentioned in "Auftrag" a.
                    // For lack of space this method is not implemented in this example. Suppose it does exist.
                    sendConfirmationEmail(a);
                }
           }       
       }
    }
}

getNucletParameter(parameter)

Liest einen nucletabhängigen Parameter. Pro Nuclet wird eine …NucletParameter-Klasse mit allen Konstanten generiert.

Codeblock
languagejava

Nähere Informationen zur automatischen Generierung erhalten Sie hier: Klassengenerierung und Regelkompilierung

Ein Beispiel finden Sie hier.

...

Diese Methode ermöglicht das Auslesen von Nuclet abhängigen Parametern. Diese werden in Nuclos im "Nuclet Management" angelegt und werden dem entsprechenden Nuclet automatisch zugewiesen. Für die Regelprogrammierung wird pro Nuclet eine NucletParameter-Klasse angelegt, die alle dazugehörigen Parameter als Konstanten beinhaltet.

Am Beispiel: Gibt es in Nuclos ein Nuclet namens "Zahlungsverkehr", dann wird eine Klasse namens "ZahlungsverkehrNucletParameter" generiert. Besitzt das Zahlungsverkehr-Nuclet z.B. den Parameter "SWIFT_Import_Dateiformat", dann wird dieser als Konstante vom Typ NucletParameter mit aufgenommen: ZahlungsverkehrNucletParameter.SWIFT_Import_Dateiformat.

Dieser kann dann der Methode getNucletParameter() übergeben werden:

...

public static String getNucletParameter(NucletParameter parameter) throws BusinessException;
Codeblock
languagejava
package org.nuclet.zahlungsverkehr; 

import org.nuclos.api.annotation.Rule;
import org.nuclos.api.context.UpdateContext;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.ParameterProvider;
import org.nuclos.api.rule.UpdateRule;

import org.nuclet.zahlungsverkehr.ZahlungsverkehrNucletParameter;

/** @name        
  * @description 
  * @usage       
  * @change      
*/
@Rule(name="ValidatePayment", description="ValidatePayment")
public class ValidatePayment implements UpdateRule {
    public void update(UpdateContext context) throws BusinessException

...

 {
    
		// Dateiverzeichnis für den Eingang von MT940-Dateien
        String dirMT940Files = ParameterProvider.getNucletParameter(ZahlungsverkehrNucletParameter.MT940_DIRECTORY);
        
    }
}

Verwandte Seiten

gear QueryProvider


Daten laden.

Öffnen →

gear BusinessObjectProvider


BOs schreiben.

Öffnen →

gear DatasourceProvider


Datenquellen ausführen.

Öffnen →

Nähere Informationen zur automatischen Generierung erhalten Sie hier: Klassengenerierung und Regelkompilierung

...