Releases

VersionDatumHinweiseKompatibilität
1.0.012.03.2021Erste veröffentlichte Fassungab Nuclos 4.46.1

Überblick

Dieses Nuclet ist eine Sammlung vieler häufig benötigter Java-Methoden, Datenquellen und Resourcen, die die Nuclet-Entwicklung unterstützen und das Nuclet-Verhalten vereinheitlichen.

Beschreibung der Utils-Klassen 

Sämtliche hier vorgestellten Methoden sind statisch.

Manche Methoden verwenden Konstanten, wie zum Beispiel das Format-Pattern 'HH:mm:ss' für die Formatierung der Uhrzeit. Die meisten dieser Konstanten sind Nuclet-Parameter und können entsprechend angepasst werden.

Nach der Anpassung der Nucletparameter muss der Job Initialisiere NucletUtils einmal ausgeführt werden, da die Änderungen sonst ggf. erst nach dem nächsten Serverstart greifen.


KlasseBeschreibung
NucletBOUtils

Diese Klasse enthält hilfreiche Methoden rund um Business-Objekte, z.B.

  • getBusinessObjectByName(Land.class, Konstanten.Land.DEUTSCHLAND)
  • getOrCreateBusinessObjectByName(Land.class, Konstanten.Land.DEUTSCHLAND, Land.IsoCode, "DE")
  • setBusinessObjectAttribute(Auftrag.class, Auftrag.Dringend, Boolean.TRUE)
  • getResource("Word-Vorlage")
  • saveBusinessObjectWithoutRules(auftrag)
  • getStateList("Auftrag")
  • getLink(auftrag) = "http://localhost:80/nuclos/rest/bos/org_nuclet_test_Auftrag/109194126"
  • areDifferent(auftrag1.getKundeId(), auftrag2.getKundeId())
NucletDateUtils

Diese Klasse enthält hilfreiche Datums-Funktionen, z.B.

  • getDate(year, month, day)
  • getYear(date)
  • getDaysBetweenDates(date1, date2)
  • addToDate(date, Calendar.MONTH, -1)
  • isSameDay(date1, date2)
  • isGeneralHoliday(date)
  • isWorkday(date)
  • max(date1, date2)
NucletDialogUtils

Diese Klasse enthält hilfreiche Dialog-Funktionen, z.B.

  • dialogYesNo("Keine Versandkosten", "Der Auftrag hat keine Versandkosten. Weiter?", "org.nuclet.firma.Auftrag", String "Aktion abgebrochen")
  • dialogOkCancel(title, message, contextIdentifier, cancelMessage) 
  • dialogGetInput(title, message, contextIdentifier)
  • dialogGetSelection(title, message, contextIdentifier, options)
NucletExcelUtils

Diese Klasse enthält hilfreiche Methoden zur Arbeit mit Excel-Listen, z.B.

  • getCellName(row, column)
  • getCellValue(row, column)
  • writeCellValue(sheet, rownumber, columnnumber, value)
  • writeCellValue(cell, value)
  • getWorkbookTemplate(template)
  • writeCellFormula(row, firstrow, columnnumber, getColumnSum(row, column_start, column_end))
NucletFileUtils

Diese Klasse enthält hilfreiche Methoden zum File-Handling, z.B.

  • writeArrayToNuclosFile(filename, content)
  • writeStringToNuclosFile(filename, string)
  • writeNuclosFileToFile(nuclosFile)
NucletFormatUtils
Diese Klasse enthält hilfreiche Methoden zu Formatierungsaufgaben, z.B.
  • format(date) = "01.03.2021"
  • format(date, "yy-MM-dd") = "21-03-01"
  • formatTime(date) = "12:20:44"
  • formatWeek(date) = "KW 13"
  • formatDateTime(date) = "01.03.2021 12:20:44"
  • formatDateForFile(date) = "2021-03-01"
  • formatCurrency(bdValue) = "2.412,37 €" 
  • formatRoman(2021) = "MMXXI"
  • formatExcelColumnName(30) = "AD"
  • isInteger(string)
  • getInteger(string)
NucletHtmlUtils

Diese Klasse enthält hilfreiche Methoden für Html-Formatierung, z.B.

  • bold(string) = "<b>string</b>"
NucletImageUtils
Diese Klasse enthält hilfreiche Methoden für Bilder, z.B.
  • getThumbnail(image, width, height)
NucletLoggingUtils
Diese Klasse enthält hilfreiche Methoden für das Logging, z.B.
  • log(message)
NucletMigrationUtils

Diese Klasse enthält hilfreiche Methoden für Migrationen, z.B.

  • confirmMigrationHasNotBeenExecuted(name)
  • startMigration(name, context);
  • finishMigration(protokoll, context);
NucletNumberUtils
Diese Klasse enthält hilfreiche mathematische Methoden. Viele davon liefern keinen Fehler, wenn ein BigDecimal-Argument == null ist, sondern liefern dann null zurück.
  • min(BigDecimal a, BigDecimal b)
  • sum(BigDecimal a, BigDecimal b)
  • quotient(BigDecimal a, BigDecimal b)
  • areAlmostEqual(BigDecimal a, BigDecimal b)
  • getDiscountedAmount(BigDecimal amount, BigDecimal discount)
  • getOriginalAmount(BigDecimal amount, BigDecimal discount)
NucletParameterUtils

Diese Klasse enthält hilfreiche Methoden für Nucletparameter, z.B.

  • getNucletParameterAsInteger(uid)
  • getNucletParameterAsPositiveInteger(uid)
  • getNucletParameterAsBigDecimal(uid)
  • getNucletParameterAsBoolean(uid)
NucletStringUtils

Diese Klasse enthält hilfreiche Methoden für Strings, z.B.

  • leftpad("12", 4) = "0012"
  • shorten("123456789", 7) = "1234..."
  • createPassword(8) = "F62hpN1c"
NucletUserUtils
Diese Klasse enthält hilfreiche Methoden für Benutzer und Benutzergruppen, z.B.
  • confirmUserhasRole(user, role)
  • getUser(String benutzernuclos)
NucletUtilsInitialisieren
Job-Regel, die aktualisierte Nucletparameter für die Regeln aktiviert. Ansonsten greifen die geänderten Parameter ggf. erst nach dem nächsten Server-Neustart.

Beschreibung der Datenquellen

DatenquelleBeschreibung
EntityRules
Liefert alle Insert-, InsertFinal-, Update- und UpdateFinal-Regeln, die bei einem angegebenen BO ausgeführt werden
Nucletparameter
Liefert den Namen eines Nucletparameters zu dessen uid
Resource
Liefert die Resource (Content) zum angegebenen Namen
StatesForModel
Liefert alle Status, die zum angegebenen Statusmodel (name) gehören
ModelForState
Liefert den Namen des Statusmodels, zu dem ein angegebener Status (uid) gehört
Transitions
Liefert alle ein- und ausgehenden Statusübergänge zu einem bestimmten Status (model, numeral)
Usage in Datasources
Liefert zu einem gegebenen Datenbankfeld alle Verwendungen in Nuclos-Datenquellen und Datenbankobjekten zurück.
Dies ist sehr hilfreich, wenn man ein solches Feld umbenennen oder löschen will
Find Table for id
Findet alle Tabellen, in denen die angegebene intid verwendet wird
Find Table for struid
Findet alle Tabellen, in denen die angegebene struid verwendet wird

Beschreibung der Reports

DatenquelleBeschreibung
Usage in Datasources
Liefert zu einem gegebenen Datenbankfeld alle Verwendungen in Nuclos-Datenquellen und Datenbankobjekten zurück.
Dies ist sehr hilfreich, wenn man ein solches Feld umbenennen oder löschen will
Find Table for id
Findet alle Tabellen, in denen die angegebene intid verwendet wird
Find Table for struid
Findet alle Tabellen, in denen die angegebene struid verwendet wird

Beschreibung der Jobs

DatenquelleBeschreibung
InitialisiereNucletUtils
Dieser Job sollte ausgeführt werden, wenn etwas an den Nucletparametern von NucletUtils geändert wurde.

Beschreibung der BO's

DatenquelleBeschreibung
Migrations-Protokoll
Hier kann sich Nuclos merken, ob Migrationen, die nicht mehrfach ausgeführt werden sollen, bereits stattgefunden haben (siehe auch Utils-Klasse NucletMigrationUtils)
Parameter

Hier können globale Parameter gespeichert werden, ähnlich wie Nucletparameter. Der Vorteil hier ist, dass sie in Listen gruppiert werden können, was bei übersichtlicher ist, wenn man sehr viele Parameter hat.
Die Klasse NucletParameterUtils liefert die passenden Methoden zum ermitteln der Parameter. 

System/Tabelle/*
Dies sind virtuelle BO's, die Systemtabellen lesbar machen.
Hilft beim Suchen von Systemobjekten und beim Ermitteln von Eigenschaften im Regelcode.

Beschreibung der Datenbank-Funktionen

DatenbankobjektBeschreibung
LB20_CA_AMPEL
Liefert für die Argumente 'G'(reen), 'Y'(ellow) und 'R'(ed) eine entsprechend farbige Ampel zurück, für alle anderen Werte eine graue Ampel
LB20_FN_GET_PARAMETER
Liefert zu einer Parameter-Liste und einem Parameter-Namen einen Parameter-Wert zurück, siehe auch BO Parameter

Beschreibung der Resourcen

DatenquelleBeschreibungBemerkung
Ampeln
Hier gibt es Ampeln in verschiedenen Farben, die u.a. von der Datenbank-Funktion LB20_CA_AMPEL benutzt werden
Emojis

Einige Standard-Emojis


Checkbox
Checkbox-Symbole, z.B. für die Darstellung in einem PDF
CSS Vorlage

CSS Vorlage mit einer Sammlung von häufig verwendeten CSS Codeblöcken für die Verwendung in Systemparameter "WEBCLIENT CSS" oder als Client Extension im Nuclet. Benötigte CSS Passagen kopieren und mit eigenen Farben bzw. Parametern konfigurieren.


Layout für Bewegungsdaten - 
drei Spalten + Tabpanel, Zeilenabstand 10 px

Layout für die Verwendung in Bewegungsdaten. Inhalte: 

  • Rahmen mit Überschrift (große Schrift)
  • drei Spalten für Attribute
  • Zeilenabstand: 10 px
  • Tab-Pane mit zwei Reitern → Attribute + Subform

Layout für Stammdaten - 
eine Spalte, Zeilenabstand 10 px

Layout für die Verwendung in Stammdaten. Inhalte:

  • Rahmen mit Überschrift (große Schrift)
  • eine Spalte für Attribute
  • Zeilenabstand: 10 px

Layout für Stammdaten - 
zwei Spalten, Zeilenabstand 10 px

Layout für die Verwendung in Stammdaten. Inhalte:

  • Rahmen mit Überschrift (große Schrift)
  • zwei Spalten für Attribute
  • Zeilenabstand: 10 px


  • Keine Stichwörter