Package org.apache.cxf.service

# Class ServiceModelVisitor

java.lang.Object
org.apache.cxf.service.ServiceModelVisitor

Direct Known Subclasses:
  `ServiceModelSchemaValidator`

public class ServiceModelVisitor extends Object
Implements the Visitor pattern for the Service model. The visit order is as follows:

     1) Begin the overall service info.
     2) Begin the service's interface.
     3) For each operation, begin the operation.
     3.1) begin the input message.
     3.1.1) begin and end each part of the input message.
     3.2) end the input message.
     3.3) begin the output message.
     3.3.1) begin and end each part of the output message.
     3.4) end the output message
     3.5) begin each fault. (3.5-3.6 repeated for each fault)
     3.5.1) begin and end each part of each fault
     3.6) end each fault.
     3.7) if a wrapped operation, begin the corresponding unwrapped operation.
     3.8) process the entire unwrapped operation starting at (3).
     3.9) end the unwrapped operation.
     4) end the operation.
     5) end the interface.
     6) For each endpoint (= port) begin and end the EndpointInfo
     7) For each binding (= BindingInfo) begin and end the BindingInfo.
     8) end the service info.

Unwrapped operations share messages with their corresponding wrapped messages, so beware of processing the same messages twice as if unique.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected ServiceInfo`
  `serviceInfo`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ServiceModelVisitor(ServiceInfo serviceInfo)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `begin(BindingInfo bindingInfo)`
  `void`
  `begin(EndpointInfo endpointInfo)`
  `void`
  `begin(FaultInfo fault)`
  `void`
  `begin(InterfaceInfo intf)`
  `void`
  `begin(MessageInfo msg)`
  `void`
  `begin(MessagePartInfo part)`
  `void`
  `begin(OperationInfo op)`
  `void`
  `begin(ServiceInfo service)`
  `void`
  `begin(UnwrappedOperationInfo op)`
  `void`
  `end(BindingInfo bindingInfo)`
  `void`
  `end(EndpointInfo endpointInfo)`
  `void`
  `end(FaultInfo fault)`
  `void`
  `end(InterfaceInfo intf)`
  `void`
  `end(MessageInfo msg)`
  `void`
  `end(MessagePartInfo part)`
  `void`
  `end(OperationInfo op)`
  `void`
  `end(ServiceInfo service)`
  `void`
  `end(UnwrappedOperationInfo op)`
  `void`
  `walk()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### serviceInfo

    protected ServiceInfo serviceInfo

- ## Constructor Details

  - ### ServiceModelVisitor

    public ServiceModelVisitor(ServiceInfo serviceInfo)

- ## Method Details

  - ### walk

    public void walk()

  - ### begin

    public void begin(ServiceInfo service)

  - ### begin

    public void begin(InterfaceInfo intf)

  - ### begin

    public void begin(OperationInfo op)

  - ### begin

    public void begin(UnwrappedOperationInfo op)

  - ### begin

    public void begin(MessageInfo msg)

  - ### begin

    public void begin(MessagePartInfo part)

  - ### begin

    public void begin(FaultInfo fault)

  - ### end

    public void end(ServiceInfo service)

  - ### end

    public void end(InterfaceInfo intf)

  - ### end

    public void end(OperationInfo op)

  - ### end

    public void end(UnwrappedOperationInfo op)

  - ### end

    public void end(MessageInfo msg)

  - ### end

    public void end(MessagePartInfo part)

  - ### end

    public void end(FaultInfo fault)

  - ### begin

    public void begin(EndpointInfo endpointInfo)

  - ### end

    public void end(EndpointInfo endpointInfo)

  - ### begin

    public void begin(BindingInfo bindingInfo)

  - ### end

    public void end(BindingInfo bindingInfo)