org.apache.cxf.databinding

## Interface DataReader<T>

- Type Parameters:
    `T` - The type of the source. Each data binding defines the set of source types that it supports.
  All Superinterfaces:
    BaseDataReader

      public interface DataReader<T>
      extends BaseDataReader

  The 'read' side of the data binding abstraction of CXF. A DataReader<T> reads objects from a source of type T.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.cxf.databinding.BaseDataReader

      `ENDPOINT, FAULT`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `read(MessagePartInfo part, T input)` Read an object from the input, applying additional conventions based on the WSDL message part.
    `Object` | `read(QName elementQName, T input, Class<?> type)` Read an object from the input.
    `Object` | `read(T input)` Read an object from the input.

    - ### Methods inherited from interface org.apache.cxf.databinding.BaseDataReader

      `setAttachments, setProperty, setSchema`

- - ### Method Detail

    - #### read

          Object read(T input)

      Read an object from the input.
      Parameters:
        `input` - input source object.
      Returns:
        item read.

    - #### read

          Object read(MessagePartInfo part,
                    T input)

      Read an object from the input, applying additional conventions based on the WSDL message part.
      Parameters:
        `part` - The message part for this item. If null, this API is equivalent to `read(Object)`.
        `input` - input source object.
      Returns:
        item read.

    - #### read

          Object read(QName elementQName,
                    T input,
                    Class<?> type)

      Read an object from the input. In the current version of CXF, not all binding support this API, and those that do ignore the element QName parameter.
      Parameters:
        `elementQName` - expected element. Generally ignored.
        `input` - input source object.
        `type` - the type of object required/requested. This is generally used when the caller wants to receive a raw source object and avoid any binding processing. For example, passing javax.xml.transform.Source. The bindings do not necessarily throw if they cannot provide an object of the requested type, and will apply their normal mapping processing, instead.
      Returns:
        item read.

Apache CXF