## org.jibx.extras
Class BindingSelector

    java.lang.Object
      org.jibx.extras.BindingSelector

    public class BindingSelector

extends java.lang.Object

Binding selector that supports versioned XML documents. This looks for a version attribute on the root element of the document, and selects the mapping to be used for unmarshalling based on the value. It also supports selecting the version for marshalling based on a supplied version argument value.

Version:
  1.0
Author:
  Dennis M. Sosnoski

Constructor Summary
`BindingSelector(java.lang.String uri, java.lang.String name, java.lang.String[] versions, java.lang.String[] bindings)` Constructor.

Method Summary
`IUnmarshallingContext` `getContext()` Get initial unmarshalling context.
`void` `marshalVersioned(java.lang.Object obj, java.lang.String version)` Marshal according to supplied version.
`void` `setIndent(int indent)` Set nesting indent spaces.
`void` `setOutput(java.io.OutputStream outs, java.lang.String enc)` Set output stream and encoding.
`void` `setOutput(java.io.Writer outw)` Set output writer.
`java.lang.Object` `unmarshalVersioned(java.lang.Class clas)` Unmarshal according to document version.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BindingSelector

    public BindingSelector(java.lang.String uri,
                           java.lang.String name,
                           java.lang.String[] versions,
                           java.lang.String[] bindings)

  Constructor.

  Parameters:
    `uri` - version selection attribute URI (`null` if none)
    `name` - version selection attribute name
    `versions` - array of version texts (first is default)
    `bindings` - array of binding names corresponding to versions

Method Detail

### getContext

    public IUnmarshallingContext getContext()

  Get initial unmarshalling context. This gives access to the unmarshalling context used before the specific version is determined. The document information must be set for this context before calling `unmarshalVersioned(java.lang.Class)`.

  Returns:
    initial unmarshalling context

### setOutput

    public void setOutput(java.io.OutputStream outs,
                          java.lang.String enc)

  Set output stream and encoding.

  Parameters:
    `outs` - stream for document data output
    `enc` - document output encoding, or `null` for default

### setOutput

    public void setOutput(java.io.Writer outw)

  Set output writer.

  Parameters:
    `outw` - writer for document data output

### setIndent

    public void setIndent(int indent)

  Set nesting indent spaces.

  Parameters:
    `indent` - number of spaces to indent per level, or disable indentation if negative

### marshalVersioned

    public void marshalVersioned(java.lang.Object obj,
                                 java.lang.String version)
                          throws JiBXException

  Marshal according to supplied version.

  Parameters:
    `obj` - root object to be marshalled
    `version` - identifier for version to be used in marshalling
  Throws:
    `JiBXException` - if error in marshalling

### unmarshalVersioned

    public java.lang.Object unmarshalVersioned(java.lang.Class clas)
                                        throws JiBXException

  Unmarshal according to document version.

  Parameters:
    `clas` - expected class mapped to root element of document (used only to look up the binding)
  Returns:
    root object unmarshalled from document
  Throws:
    `JiBXException` - if error in unmarshalling

Project Web Site |