1 package org.codehaus.xfire.service;
2
3 import org.codehaus.xfire.service.binding.ObjectBinding;
4
5
6 /***
7 * Defines the contract for classes that iterate over the <code>*Info</code> classes. Used to recurse into {@link
8 * ServiceInfo}, {@link OperationInfo}, {@link MessageInfo}, etc.
9 * <p/>
10 * <strong>Note</strong> that implementations of this interface are not required to recurse themselves; instead, this is
11 * handled by the various vistable implementations.
12 *
13 * @author <a href="mailto:poutsma@mac.com">Arjen Poutsma</a>
14 * @see Visitable
15 */
16 public interface Visitor
17 {
18 /***
19 * Receive notification at the beginning of a endpoint visit.
20 *
21 * @param endpoint the service endpoint.
22 */
23 void startEndpoint(Service endpoint);
24
25 /***
26 * Receive notatification of the end of a endpoint visit.
27 *
28 * @param endpoint
29 */
30 void endEndpoint(Service endpoint);
31
32 /***
33 * Receive notification at the beginning of a service visit.
34 *
35 * @param serviceInfo the service.
36 */
37 void startService(ServiceInfo serviceInfo);
38
39 /***
40 * Receive notatification of the end of a service visit.
41 *
42 * @param serviceInfo
43 */
44 void endService(ServiceInfo serviceInfo);
45
46 /***
47 * Receive notification at the beginning of a operation visit.
48 *
49 * @param operationInfo the operation.
50 */
51 void startOperation(OperationInfo operationInfo);
52
53 /***
54 * Receive notification at the end of a operation visit.
55 *
56 * @param operationInfo the operation.
57 */
58 void endOperation(OperationInfo operationInfo);
59
60 /***
61 * Receive notification at the beginning of a message visit.
62 *
63 * @param messageInfo the message.
64 */
65 void startMessage(MessageInfo messageInfo);
66
67 /***
68 * Receive notification at the end of a message visit.
69 *
70 * @param messageInfo the message.
71 */
72 void endMessage(MessageInfo messageInfo);
73
74 /***
75 * Receive notification at the beginning of a fault visit.
76 *
77 * @param faultInfo the fault.
78 */
79 void startFault(FaultInfo faultInfo);
80
81 /***
82 * Receive notification at the end of a fault visit.
83 *
84 * @param faultInfo the fault.
85 */
86 void endFault(FaultInfo faultInfo);
87
88 /***
89 * Receive notification at the beginning of a message part visit.
90 *
91 * @param messagePartInfo the message part info.
92 */
93 void startMessagePart(MessagePartInfo messagePartInfo);
94
95 /***
96 * Receive notification at the end of a message part visit.
97 *
98 * @param messagePartInfo the message part info.
99 */
100 void endMessagePart(MessagePartInfo messagePartInfo);
101
102 /***
103 * Receive notification at the beginning of a message header visit.
104 *
105 * @param messageHeaderInfo the message header info.
106 */
107 void startMessageHeader(MessageHeaderInfo messageHeaderInfo);
108
109 /***
110 * Receive notification at the end of a message header visit.
111 *
112 * @param messageHeaderInfo the message header info.
113 */
114 void endMessageHeader(MessageHeaderInfo messageHeaderInfo);
115
116 /***
117 * Receive notification at the beginning of a binding visit.
118 *
119 * @param binding the binding.
120 */
121 void startBinding(ObjectBinding binding);
122
123 /***
124 * Receive notification at the end of a binding visit.
125 *
126 * @param binding the binding.
127 */
128 void endBinding(ObjectBinding binding);
129 }