## org.springframework.oxm
Interface Marshaller

All Known Subinterfaces:
  GenericMarshaller, MimeMarshaller

All Known Implementing Classes:
  AbstractMarshaller, CastorMarshaller, Jaxb2Marshaller, JibxMarshaller, XmlBeansMarshaller, XStreamMarshaller

    public interface Marshaller

Defines the contract for Object XML Mapping Marshallers. Implementations of this interface can serialize a given Object to an XML Stream.

Although the `marshal` method accepts a `java.lang.Object` as its first parameter, most `Marshaller` implementations cannot handle arbitrary `Object`s. Instead, a object class must be registered with the marshaller, or have a common base class.

Since:
  3.0
Author:
  Arjen Poutsma
See Also:
  `Unmarshaller`

Method Summary
`void` `marshal(Object graph, Result result)` Marshals the object graph with the given root into the provided `Result`.
`boolean` `supports(Class<?> clazz)` Indicates whether this marshaller can marshal instances of the supplied type.

Method Detail

### supports

    boolean supports(Class<?> clazz)

  Indicates whether this marshaller can marshal instances of the supplied type.

  Parameters:
    `clazz` - the class that this marshaller is being asked if it can marshal
  Returns:
    `true` if this marshaller can indeed marshal instances of the supplied class; `false` otherwise

### marshal

    void marshal(Object graph,
                 Result result)
                 throws IOException,
                        XmlMappingException

  Marshals the object graph with the given root into the provided `Result`.

  Parameters:
    `graph` - the root of the object graph to marshal
    `result` - the result to marshal to
  Throws:
    `IOException` - if an I/O error occurs
    `XmlMappingException` - if the given object cannot be marshalled to the result