01: package com.bostechcorp.cbesb.runtime.ccsl.lib;
02:
03: import java.util.LinkedList;
04: import java.util.Map;
05:
06: import javax.jbi.component.ComponentContext;
07: import javax.jbi.messaging.DeliveryChannel;
08: import javax.jbi.messaging.MessageExchange;
09:
10: import org.apache.commons.logging.Log;
11:
12: /**
13: * Classes for Script Components must implement this interface
14: */
15:
16: public interface IScriptObject {
17: /**
18: * Start mode can be used for initialization. Consumer endpoints
19: * that do not use timed mode should set up a thread to generate
20: * exchanges in start mode.
21: *
22: * @param logger - the loggger object
23: * @param rootDir - the root direcory of the SU
24: * @param componentContext - the componentContext object
25: * @param channel - the delivery channel object
26: * @param exchange - the MessageExchange object passed in
27: * @param params - the user paramaters in name/value pair
28: * @throws Exception
29: */
30: public void start(Log logger, String rootDir,
31: ComponentContext componentContext, DeliveryChannel channel,
32: Map<String, String> params) throws Exception;
33:
34: /**
35: * The stop method should clean up resources
36: *
37: * @param logger - the loggger object
38: * @param rootDir - the root direcory of the SU
39: * @param componentContext - the componentContext object
40: * @param channel - the delivery channel object
41: * @param params - the user paramaters in name/value pair
42: * @throws Exception
43: */
44: public void stop(Log logger, String rootDir,
45: ComponentContext componentContext, DeliveryChannel channel,
46: Map<String, String> params) throws Exception;
47:
48: /**
49: * The run method is called when an exchange is sent to the endpoint.
50: *
51: * @param logger - the loggger object
52: * @param rootDir - the root direcory of the SU
53: * @param componentContext - the componentContext object
54: * @param channel - the delivery channel object
55: * @param exchange - the MessageExchange object passed in
56: * @param params - the user paramaters in name/value pair
57: * @throws Exception
58: */
59: public void run(Log logger, String rootDir,
60: ComponentContext componentContext, DeliveryChannel channel,
61: MessageExchange exchange, Map<String, String> params)
62: throws Exception;
63:
64: /**
65: * The time method is called for a timed mode consumer endpoint.
66: * It returns a linked list of exchanges to be sent from the
67: * endpoint.
68: *
69: * @param logger - the loggger object
70: * @param rootDir - the root direcory of the SU
71: * @param componentContext - the componentContext object
72: * @param channel - the delivery channel object
73: * @param exchange - the MessageExchange object passed in
74: * @param params - the user paramaters in name/value pair
75: * @return - the LinkList containning one of many MessageExchange objects
76: * @throws Exception
77: */
78: public LinkedList time(Log logger, String rootDir,
79: ComponentContext componentContext, DeliveryChannel channel,
80: MessageExchange exchange, Map<String, String> params)
81: throws Exception;
82: }
|