... |
... |
@@ -8,31
+8,57 @@ |
8 |
8 |
|
9 |
9 |
== Definition von Bundle-Properties durch den Plugin-Entwickler == |
10 |
10 |
|
11 |
|
-Die Oberfläche von {{formcycle case="dat"/}} bietet die Möglichkeit neue Properties mit Namen und Wert am jeweiligen Plugin-Bundle zu pflegen. |
|
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. |
12 |
12 |
In den meisten Fällen ist es jedoch sinnvoll, wenn der Name (Zugriffsschlüssel, muss eindeutig innerhalb der Bundle-Properties sein) |
13 |
|
-und gegebenenfalls ein Default-Wert für ein Property, bereits durch den Plugin-Entwickler festgelegt werden. |
|
17 |
+und gegebenenfalls ein Standard-Wert für ein Property, bereits durch den Plugin-Entwickler festgelegt werden. |
14 |
14 |
\\Damit werden zum einen Schreibfehler beim Anlegen der Zugriffsschlüssels durch den Plugin-Benutzer ausgeschlossen und |
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. |
|
19 |
+zum Anderen erhält der Plugin-Benutzer eine Sicht auf alle durch den Plugin-Entwickler unterstützten Konfigurationswerte. |
16 |
16 |
|
17 |
|
-=== Interface IBundleProperties === |
|
21 |
+== Schnittstelle IBundleProperties == |
18 |
18 |
|
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}} |
|
23 |
+Die Schnittstelle bietet folgende Methodesignaturen: |
22 |
22 |
|
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. |
|
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. |
26 |
26 |
Es existieren zwei mögliche Implementierung von //IBundleConfigParam//: |
27 |
27 |
|
|
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}}. |
28 |
28 |
|
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}} |
|
61 |
+== Implementierungsbeispiel == |
36 |
36 |
|
37 |
37 |
Das nachfolgende Codebeispiel zeigt eine mögliche Implementierung: |
38 |
38 |
|