com.sun.xml.ws.api.model
Class ParameterBinding

java.lang.Object
  extended by com.sun.xml.ws.api.model.ParameterBinding

public final class ParameterBinding
extends Object

Denotes the binding of a parameter.

This is somewhat like an enumeration (but it is NOT an enumeration.)

The possible values are BODY, HEADER, UNBOUND, and ATTACHMENT. BODY, HEADER, and UNBOUND has a singleton semantics, but there are multiple ATTACHMENT instances as it carries additional MIME type parameter.

So don't use '==' for testing the equality.


Nested Class Summary
static class ParameterBinding.Kind
          Represents 4 kinds of binding.
 
Field Summary
static ParameterBinding BODY
          Singleton instance that represents 'BODY'
static ParameterBinding HEADER
          Singleton instance that represents 'HEADER'
 ParameterBinding.Kind kind
          Represents the kind of ParameterBinding.
static ParameterBinding UNBOUND
          Singleton instance that represents 'UNBOUND', meaning the parameter doesn't have a representation in a SOAP message.
 
Method Summary
static ParameterBinding createAttachment(String mimeType)
          Creates an instance that represents the attachment with a given MIME type.
 String getMimeType()
          Returns the MIME type associated with this binding.
 boolean isAttachment()
           
 boolean isBody()
           
 boolean isHeader()
           
 boolean isUnbound()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BODY

public static final ParameterBinding BODY
Singleton instance that represents 'BODY'


HEADER

public static final ParameterBinding HEADER
Singleton instance that represents 'HEADER'


UNBOUND

public static final ParameterBinding UNBOUND
Singleton instance that represents 'UNBOUND', meaning the parameter doesn't have a representation in a SOAP message.


kind

public final ParameterBinding.Kind kind
Represents the kind of ParameterBinding. Always non-null.

Method Detail

createAttachment

public static ParameterBinding createAttachment(String mimeType)
Creates an instance that represents the attachment with a given MIME type.

TODO: shall we consider givint the singleton semantics by using a cache? It's more elegant to do so, but no where in JAX-WS RI two ParameterBindings are compared today,


toString

public String toString()
Overrides:
toString in class Object

getMimeType

public String getMimeType()
Returns the MIME type associated with this binding.

Returns:
Can be null, if the MIME type is not known.
Throws:
IllegalStateException - if this binding doesn't represent an attachment. IOW, if isAttachment() returns false.

isBody

public boolean isBody()

isHeader

public boolean isHeader()

isUnbound

public boolean isUnbound()

isAttachment

public boolean isAttachment()