Spring Web Services Framework

org.springframework.ws.server.endpoint
Class AbstractStaxEventPayloadEndpoint

java.lang.Object
  extended by org.springframework.xml.transform.TransformerObjectSupport
      extended by org.springframework.ws.server.endpoint.AbstractStaxPayloadEndpoint
          extended by org.springframework.ws.server.endpoint.AbstractStaxEventPayloadEndpoint
All Implemented Interfaces:
MessageEndpoint

public abstract class AbstractStaxEventPayloadEndpoint
extends AbstractStaxPayloadEndpoint
implements MessageEndpoint

Abstract base class for endpoints that handle the message payload with event-based StAX. Allows subclasses to read the request with a XMLEventReader, and to create a response using a XMLEventWriter.

Since:
1.0.0
Author:
Arjen Poutsma
See Also:
invokeInternal(javax.xml.stream.XMLEventReader,javax.xml.stream.util.XMLEventConsumer, javax.xml.stream.XMLEventFactory), XMLEventReader, XMLEventWriter

Field Summary
 
Fields inherited from class org.springframework.xml.transform.TransformerObjectSupport
logger
 
Constructor Summary
AbstractStaxEventPayloadEndpoint()
           
 
Method Summary
protected  XMLEventFactory createXmlEventFactory()
          Create a XMLEventFactory that this endpoint will use to create XMLEvents.
 void invoke(MessageContext messageContext)
          Invokes an operation.
protected abstract  void invokeInternal(XMLEventReader eventReader, XMLEventConsumer eventWriter, XMLEventFactory eventFactory)
          Template method.
 
Methods inherited from class org.springframework.ws.server.endpoint.AbstractStaxPayloadEndpoint
createXmlInputFactory, createXmlOutputFactory, getInputFactory, getOutputFactory
 
Methods inherited from class org.springframework.xml.transform.TransformerObjectSupport
createTransformer, getTransformerFactory, newTransformerFactory, setTransformerFactoryClass, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractStaxEventPayloadEndpoint

public AbstractStaxEventPayloadEndpoint()
Method Detail

invoke

public final void invoke(MessageContext messageContext)
                  throws Exception
Description copied from interface: MessageEndpoint
Invokes an operation.

The given messageContext can be used to create a response.

Specified by:
invoke in interface MessageEndpoint
Parameters:
messageContext - the message context
Throws:
Exception - if an exception occurs

createXmlEventFactory

protected XMLEventFactory createXmlEventFactory()
Create a XMLEventFactory that this endpoint will use to create XMLEvents. Can be overridden in subclasses, adding further initialization of the factory. The resulting XMLEventFactory is cached, so this method will only be called once.

Returns:
the created XMLEventFactory

invokeInternal

protected abstract void invokeInternal(XMLEventReader eventReader,
                                       XMLEventConsumer eventWriter,
                                       XMLEventFactory eventFactory)
                                throws Exception
Template method. Subclasses must implement this. Offers the request payload as a XMLEventReader, and a XMLEventWriter to write the response payload to.

Parameters:
eventReader - the reader to read the payload events from
eventWriter - the writer to write payload events to
eventFactory - an XMLEventFactory that can be used to create events
Throws:
Exception

Spring Web Services Framework

Copyright © 2005-2010 The Spring Web Services Framework. All Rights Reserved.