org.springframework.oxm

## Interface Unmarshaller

- All Known Subinterfaces:
    GenericUnmarshaller, MimeUnmarshaller
  All Known Implementing Classes:
    AbstractMarshaller, CastorMarshaller, Jaxb2Marshaller, JibxMarshaller, XmlBeansMarshaller, XStreamMarshaller

      public interface Unmarshaller

  Defines the contract for Object XML Mapping unmarshallers. Implementations of this interface can deserialize a given XML Stream to an Object graph.
  Since:
    3.0
  Author:
    Arjen Poutsma
  See Also:
    `Marshaller`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `supports(Class<?> clazz)` Indicates whether this unmarshaller can unmarshal instances of the supplied type.
    `Object` | `unmarshal(Source source)` Unmarshals the given `Source` into an object graph.

- - ### Method Detail

    - #### supports

          boolean supports(Class<?> clazz)

      Indicates whether this unmarshaller can unmarshal instances of the supplied type.
      Parameters:
        `clazz` - the class that this unmarshaller is being asked if it can marshal
      Returns:
        `true` if this unmarshaller can indeed unmarshal to the supplied class; `false` otherwise

    - #### unmarshal

          Object unmarshal(Source source)
                           throws IOException,
                                  XmlMappingException

      Unmarshals the given `Source` into an object graph.
      Parameters:
        `source` - the source to marshal from
      Returns:
        the object graph
      Throws:
        `IOException` - if an I/O error occurs
        `XmlMappingException` - if the given source cannot be mapped to an object