com.sun.xml.ws.encoding.fastinfoset
Class FastInfosetStreamSOAP12Codec

java.lang.Object
  extended by com.sun.xml.ws.encoding.fastinfoset.FastInfosetStreamSOAPCodec
      extended by com.sun.xml.ws.encoding.fastinfoset.FastInfosetStreamSOAP12Codec
All Implemented Interfaces:
Codec

final class FastInfosetStreamSOAP12Codec
extends FastInfosetStreamSOAPCodec

A codec that converts SOAP 1.2 messages infosets to fast infoset documents.


Field Summary
 
Fields inherited from class com.sun.xml.ws.encoding.fastinfoset.FastInfosetStreamSOAPCodec
_defaultContentType
 
Constructor Summary
FastInfosetStreamSOAP12Codec(StreamSOAPCodec soapCodec, boolean retainState)
           
 
Method Summary
 Codec copy()
          Creates a copy of this Codec.
protected  StreamHeader createHeader(javax.xml.stream.XMLStreamReader reader, com.sun.xml.stream.buffer.XMLStreamBuffer mark)
           
protected  ContentType getContentType(String soapAction)
           
 
Methods inherited from class com.sun.xml.ws.encoding.fastinfoset.FastInfosetStreamSOAPCodec
create, create, decode, decode, encode, encode, getMimeType, getStaticContentType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FastInfosetStreamSOAP12Codec

FastInfosetStreamSOAP12Codec(StreamSOAPCodec soapCodec,
                             boolean retainState)
Method Detail

copy

public Codec copy()
Description copied from interface: Codec
Creates a copy of this Codec.

Since Codec instance is not re-entrant, the caller who needs to encode two Messages simultaneously will want to have two Codec instances. That's what this method produces.

Implentation Note

Note that this method might be invoked by one thread while another thread is executing one of the Codec.encode(com.sun.xml.ws.api.message.Packet, java.io.OutputStream) methods. This should be OK because you'll be only copying things that are thread-safe, and creating new ones for thread-unsafe resources, but please let us know if this contract is difficult.

Returns:
always non-null valid Codec that performs the encoding work in the same way --- that is, if you copy an FI codec, you'll get another FI codec.

Once copied, two Codecs may be invoked from two threads concurrently; therefore, they must not share any state that requires isolation (such as temporary buffer.)

If the Codec implementation is already re-entrant and multi-thread safe to begin with, then this method may simply return this.


createHeader

protected final StreamHeader createHeader(javax.xml.stream.XMLStreamReader reader,
                                          com.sun.xml.stream.buffer.XMLStreamBuffer mark)
Specified by:
createHeader in class FastInfosetStreamSOAPCodec

getContentType

protected ContentType getContentType(String soapAction)
Specified by:
getContentType in class FastInfosetStreamSOAPCodec


Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.