View Javadoc

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 }