Package 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 Known Implementing Classes:
  `NodeDataReader`, `StaxDataBinding.XMLStreamDataReader`, `XMLStreamDataReader`

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

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `ENDPOINT`
  `static final String`
  `FAULT`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `read(QName elementQName, T input, Class<?> type)`
  Read an object from the input.
  `Object`
  `read(MessagePartInfo part, T input)`
  Read an object from the input, applying additional conventions based on the WSDL message part.
  `Object`
  `read(T input)`
  Read an object from the input.
  `void`
  `setAttachments(Collection<Attachment> attachments)`
  Attach a collection of attachments to a binding.
  `void`
  `setProperty(String prop, Object value)`
  Set an arbitrary property on the reader.
  `void`
  `setSchema(Schema s)`
  Supply a schema to validate the input.

- ## Field Details

  - ### FAULT

    static final String FAULT

  - ### ENDPOINT

    static final String ENDPOINT

- ## Method Details

  - ### setSchema

    void setSchema(Schema s)
    Supply a schema to validate the input. Bindings silently ignore this parameter if they do not support schema validation, or the particular form of validation implied by a particular form of Schema.
    Parameters:
      `s` -

  - ### setAttachments

    void setAttachments(Collection<Attachment> attachments)
    Attach a collection of attachments to a binding. This permits a binding to process the contents of one or more attachments as part of reading from this reader.
    Parameters:
      `attachments` - attachments.

  - ### setProperty

    void setProperty(String prop, Object value)
    Set an arbitrary property on the reader. `FAULT` and `ENDPOINT` specify two common properties: the Fault object being read and the `Endpoint`.
    Parameters:
      `prop` - Name of the property.
      `value` - Value of the property.

  - ### 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.