...
Code Block | ||
---|---|---|
| ||
// odczyt z elementu modułu conditions = ModuleHelper.getConditions(plugin, definition); // podczas pisania warunku możemy użyć klasy ConditionSupport: public class HelloCondition extends ConditionSupport{ @Autowired private SomeService someService; @Override public boolean isFulfilled(){ return someService.check(getParameter("someparam")); } } |
Info |
---|
Instancja Condition tworzona jest z wykorzystaniem kontekstu aplikacji, dlatego możliwe jest używanie adnotacji @Autowired. Nie powinniśmy oznaczać klasy adnotacją @Component!!! |
Note |
---|
Jeżeli wykorzystujemy klasę warunku z innej wtyczki, a deskryptor jest jedynym miejscem, w którym odwołujemy się do pakietu tej klasy, to możemy napotkać na błąd ClassNotFoundException. Należy wtedy postępować zgodnie z instrukcjami w FAQ: PluginFramework FAQ |
Link - link
Element link umożliwia pobranie absolutnego adresu URL, wpisując adres relatywny do wtyczki lub do systemu.
Atrybuty
Nazwa | Wymagany | Opis |
---|---|---|
scoped | Domyślnie true. Jeżeli ma wartość true, to wpisany link będzie traktowany jako relatywny do wtyczki. Jeżeli ma wartość false, link będzie traktowany jako relatywny do context path. |
Przykład
Code Block | ||
---|---|---|
| ||
<!-- Link relatywny do wtyczki: /PlusWorkflow/plugin/com.suncode.plugin-tutorial/hello --> <link>/hello</link> <link scoped="true">/hello</link> <!-- Link relatywny do systemu: /PlusWorkflow/hello --> <link scoped="false">/hello</link> |
Java API
Możemy ułatwić sobie pisanie warunków i ich odczyt z XML'a.
Code Block | ||
---|---|---|
| ||
// odczyt z elementu modułu - zwraca null jeżeli nie ma elementu link w module
conditions = ScopedWebLink.parse(definition, plugin); |