Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
// 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

Element link umożliwia pobranie absolutnego adresu URL, wpisując adres relatywny do wtyczki lub do systemu.

Atrybuty

NazwaWymaganyOpis
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
languagehtml/xml
<!-- 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
languagejava
// odczyt z elementu modułu - zwraca null jeżeli nie ma elementu link w module
conditions = ScopedWebLink.parse(definition, plugin);