... |
... |
@@ -8,57
+8,31 @@ |
8 |
8 |
|
9 |
9 |
== Definition von Bundle-Properties durch den Plugin-Entwickler == |
10 |
10 |
|
11 |
|
-{{figure image="plugin_props_config_ui.png" title="FORMCYCLE Bundle-Properties: Darstellung in Oberfläche" width="500"}} |
12 |
|
-Durch Einbinden des Interfaces //IBundleProperties// können konfigurierbare Optionen in der Oberfläche von {{formcycle case="dat"/}} angezeigt werden. |
13 |
|
-{{/figure}} |
14 |
|
- |
15 |
|
-Die Oberfläche von {{formcycle case="dat"/}} bietet die Möglichkeit neue Properties mit Namen und Wert am jeweiligen Plugin-Bundle zu hinterlegen. |
|
11 |
+Die Oberfläche von {{formcycle case="dat"/}} bietet die Möglichkeit neue Properties mit Namen und Wert am jeweiligen Plugin-Bundle zu pflegen. |
16 |
16 |
In den meisten Fällen ist es jedoch sinnvoll, wenn der Name (Zugriffsschlüssel, muss eindeutig innerhalb der Bundle-Properties sein) |
17 |
|
-und gegebenenfalls ein Standard-Wert für ein Property, bereits durch den Plugin-Entwickler festgelegt werden. |
|
13 |
+und gegebenenfalls ein Default-Wert für ein Property, bereits durch den Plugin-Entwickler festgelegt werden. |
18 |
18 |
\\Damit werden zum einen Schreibfehler beim Anlegen der Zugriffsschlüssels durch den Plugin-Benutzer ausgeschlossen und |
19 |
|
-zum Anderen erhält der Plugin-Benutzer eine Sicht auf alle durch den Plugin-Entwickler unterstützten Konfigurationswerte. |
|
15 |
+zum Anderen erhält der Plugin-Benutzer eine Sicht auf alle durch den Plugin-Entwickler unterstützten Konfigurationswerte ohne Dokumentationen lesen zu müssen. |
20 |
20 |
|
21 |
|
-== Schnittstelle IBundleProperties == |
|
17 |
+=== Interface IBundleProperties === |
22 |
22 |
|
23 |
|
-Die Schnittstelle bietet folgende Methodesignaturen: |
|
19 |
+{{figure image="plugin_props_config_ui.png" title="FORMCYCLE Bundle-Properties: Darstellung in Oberfläche" width="500"}} |
|
20 |
+Durch Einbinden des Interfaces //IBundleProperties// können konfigurierbare Optionen in der Oberfläche von {{formcycle case="dat"/}} angezeigt werden. |
|
21 |
+{{/figure}} |
24 |
24 |
|
25 |
|
-* **//public Map<String, IBundleConfigParam> getConfigProperties(IPluginResourceHelper resHelper, Locale currentLocale)//** |
26 |
|
- |
27 |
|
-=== Methode: //getConfigProperties// === |
28 |
|
- |
29 |
|
-Dient zur Konfiguration von Eigenschaftswerten, die allen Java-Klassen innerhalb des Plugin-Bundles zur Verfügung stehen sollen. |
30 |
|
- |
31 |
|
-==== Übergabewerte: ==== |
32 |
|
- |
33 |
|
- |
34 |
|
-; IPluginResourceHelper |
35 |
|
-: Objekte zum Zugriff auf die im Plugin-Bundle enthaltenen Datei-Ressourcen. |
36 |
|
-; Locale |
37 |
|
-: Das für den aktuell angemeldeten Nutzer festgelegte //Locale//-Objekt (enthält Informationen zur Sprache und Region). |
38 |
|
-Dieses kann zum Ermitteln von sprachabhängigen Texten verwendet werden. |
39 |
|
- |
40 |
|
-==== Rückgabewerte: ==== |
41 |
|
- |
42 |
|
- |
43 |
|
-Die Methode muss ein Objekt vom Typ //java.util.Map// mit Value-Objekten vom Typ //IBundleConfigParam// zurückliefern. |
|
23 |
+Das Interface //IBundleProperties //bietet mit der Schnittstellen-Methode //getConfigProperties()// die Möglichkeit Bundle-Properties |
|
24 |
+vorzukonfigurieren. |
|
25 |
+Die Methode muss eine Map mit Objekten vom Typ //IBundleConfigParam// zurückliefern. |
44 |
44 |
Es existieren zwei mögliche Implementierung von //IBundleConfigParam//: |
45 |
45 |
|
46 |
|
-; BundleConfigGroupItem |
47 |
|
-: Dieses Element kann zur Strukturierung der Listendarstellung in der Oberfläche von {{formcycle case="dat"/}} verwendet werden. |
48 |
|
-; BundleConfigParam |
49 |
|
-: Dient zur Definition eines Bundle-Properties. Ein Objekt definiert die folgenden Eigenschaften: |
50 |
|
-: //name// |
51 |
|
-:: Der Name oder Zugriffsschlüssel einer Property. |
52 |
|
-: //description// |
53 |
|
-:: Beschreibung zu einer Property. Wird per //Mouseover// über den //Property//-Namen in der Oberfläche eingeblendet. Kann verwendet werden, um dem Nutzer des Plugins nähere Information zur Verwendung oder möglicher Wertebereiche des Parameters anzuzeigen. |
54 |
|
-: //mandatory// |
55 |
|
-:: Legt fest, ob der Parameter in der Oberfläche als Pflichtparameter dargestellt wird und ein Validierung auf Vorhandensein eines Wertes beim Abspeichern durchgeführt wird. |
56 |
|
-: //crypticValue// |
57 |
|
-:: Legt fest, ob der Wert der Property wie bei einem Passwordfeld maskiert werden soll. Standardwert ist {{code}}false{{/code}}. |
58 |
|
-: //defaultValue// |
59 |
|
-:: Ermöglicht die Festlegung eines Defaultwertes durch den Entwickler. Standardwert ist {{code}}null{{/code}}. |
60 |
60 |
|
61 |
|
-== Implementierungsbeispiel == |
|
29 |
+* {{litem title="BundleConfigGroupItem"}}Dieses Element kann zur Strukturierung der Listendarstellung in der Oberfläche von {{formcycle case="dat"/}} verwendet werden.{{/litem}} |
|
30 |
+* {{litem title="BundleConfigParam"}}Dient zur Definition eines Bundle-Properties. Es können die folgenden Eigenschaften definiert werden.{{/litem}} |
|
31 |
+** {{litem title="name"}}Der Name oder Zugriffsschlüssel einer Property.{{/litem}} |
|
32 |
+** {{litem title="description"}}Beschreibung zu einer Property. Wird per //Mouseover// über den //Property//-Namen in der Oberfläche eingeblendet. Kann verwendet werden, um dem Nutzer des Plugins nähere Information zur Verwendung oder möglicher Wertebereiche des Parameters anzuzeigen.{{/litem}} |
|
33 |
+** {{litem title="mandatory"}}Legt fest, ob der Parameter in der Oberfläche als Pflichtparameter dargestellt wird und ein Validierung auf Vorhandensein eines Wertes beim Abspeichern durchgeführt wird.{{/litem}} |
|
34 |
+** {{litem title="crypticValue"}}Legt fest, ob der Wert der Property wie bei einem Passwordfeld maskiert werden soll. Standardwert ist {{code}}false{{/code}}.{{/litem}} |
|
35 |
+** {{litem title="defaultValue"}}Ermöglicht die Festlegung eines Defaultwertes durch den Entwickler. Standardwert ist {{code}}null{{/code}}.{{/litem}} |
62 |
62 |
|
63 |
63 |
Das nachfolgende Codebeispiel zeigt eine mögliche Implementierung: |
64 |
64 |
|