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 }