com.tibco.cep.bpmn.runtime.model

## Interface JavaTask

-     @Documented
       @Retention(value=RUNTIME)
       @Target(value=java.lang.annotation.ElementType.TYPE)
      public interface JavaTask

  This annotation identifies a Class that can be used for BPMN Java Task

        package com.tibco

         import java.util.Calendar;
        import com.tibco.cep.bpmn.runtime.activity.tasks.JavaTaskContext;
        import com.tibco.cep.bpmn.runtime.activity.tasks.ModelType;
        import com.tibco.cep.bpmn.runtime.activity.tasks.ModelTypeMap;
        import com.tibco.cep.bpmn.runtime.activity.tasks.TaskContextType;
        import com.tibco.cep.bpmn.runtime.model.JavaTask;
        import com.tibco.cep.bpmn.runtime.model.JavaTaskMethod;
        import com.tibco.cep.runtime.model.element.Concept;
        import com.tibco.cep.runtime.session.RuleServiceProvider;
        import com.tibco.cep.runtime.session.RuleSession;

        @JavaTask
       public class TestJavaTask {
           @JavaTaskContext(TaskContextType.NAME)
          String taskName;
           @JavaTaskContext(TaskContextType.RULE_SERVICE_PROVIDER)
          RuleServiceProvider rsp;
           @JavaTaskContext(TaskContextType.RULE_SESSION)
          RuleSession ruleSession;

           @JavaTaskMethod
           @ModelTypeMap(type=ModelType.CONTAINED_CONCEPT, uri="/Concepts/ConceptA")
          public  Concept  taskFunction(
                   @ModelTypeMap(type=ModelType.INT)  int a,
                   @ModelTypeMap(type=ModelType.STRING) String b,
                   @ModelTypeMap(type=ModelType.DATETIME) Calendar c,
                   @ModelTypeMap(type=ModelType.CONTAINED_CONCEPT, uri="/Concepts/ConceptA") Concept cc,
                   @ModelTypeMap(type=ModelType.PROCESS, uri="/Processes/ProcessA") Concept pp) {
              return null;
          }
       }

  Since:
    5.2.0