Versions Compared

Key

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

...

  1. Adnotację 
    Javadoc
    displayValue@Actions
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.workflow.form.action.annotation.Actions
     (jeżeli akcja nie jest definiowana we wtyczce, musi ona pochodzić z pakietu com.suncode)
  2. Adnotację 
    Javadoc
    displayValue@ActionsScript
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.workflow.form.action.annotation.ActionsScript
     ze ścieżką do skryptu (z classpath) zawierającego implementację
  3. Publiczną metodę oznaczoną adnotacją 
    Javadoc
    displayValue@Define
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.component.annotation.Define
     z jednym parametrem
    Javadoc
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.workflow.form.action.ActionDefinitionBuilder
    (w jednej klasie @Actions może być zdefiniowanych wiele różnych akcji)

...

Code Block
languagejava
linenumberstrue
@Action@Actions
@ActionScript@ActionsScript( "actions/example.js" )
public class ExampleActions
{
	@Define
    public void logger( ActionDefinitionBuilder action )
    {
		// tworzeniebudowanie definicji akcji
	}
}

 

 

 

Teraz wykorzystując obiekt 

Javadoc
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.workflow.form.action.ActionDefinitionBuilder
 definiujemy akcję:

  • identyfikator: 

 

Code Block
languagejava
linenumberstrue
@Define
public void logger( ActionDefinitionBuilder action )
{
    action
        .id( "logger" )
        .name( "actions.logger.name" )
        .description( "actions.logger.desc" )
        .category( Categories.DEBUG )
        .destination( ActionDestination.form() )
        .icon( SilkIconPack.APPLICATION_OSX_TERMINAL )
        .parameter()
            .id( "msg" )
            .name( "actions.logger.param.msg.name" )
            .description( "actions.logger.param.msg.desc" )
            .type( Types.STRING )
            .create()
        .parameter()
            .id( "error" )
            .name( "actions.logger.param.level.name" )
            .description( "actions.logger.param.level.name" )
            .type( Types.BOOLEAN )
            .create();
}

Akcja musi być zdefiniowana po stronie serwera. W tym celu należy utworzyć klasę i oznaczyć ją adnotacją 

Javadoc
displayValue@Action
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.workflow.form.action.annotation.Action
. Adnotacja ta sprawia, że system będzie szukał definicji akcji w tej klasie. Dodatkowo należy dodać adnotację 
Javadoc
displayValue@ActionScript
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.workflow.form.action.annotation.ActionScript
 i jako jej wartość podać relatywną ścieżkę do skryptu z implementacją akcji. W tak przygotowanej klasie należy teraz dodać definicję akcji. W tym celu trzeba dodać metodę i oznaczyć ją adnotacją 
Javadoc
displayValue@DefineAction
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.workflow.form.action.annotation.DefineAction
. Metoda musi przyjmować jeden parametr typu 
Javadoc
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.workflow.form.action.ActionDefinitionBuilder
. W implementacji metody należy za pomocą przekazanego builder'a zdefiniować wszystkie własności akcji.

...