Interface ModelReader

All Known Subinterfaces:
ModelProcessor
All Known Implementing Classes:
DefaultModelProcessor, DefaultModelReader

public interface ModelReader
Handles deserialization of a model from some kind of textual format like XML.
Author:
Benjamin Bentmann
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The key for the option to enable tracking of line/column numbers.
    static final String
    The key for the option to enable strict parsing.
    static final String
    The key for the option to provide a transformer context, which can be used to transform the input while reading to get an advanced version of the model.
  • Method Summary

    Modifier and Type
    Method
    Description
    read(File input, Map<String,?> options)
    Reads the model from the specified file.
    read(InputStream input, Map<String,?> options)
    Reads the model from the specified byte stream.
    read(Reader input, Map<String,?> options)
    Reads the model from the specified character reader.
  • Field Details

    • IS_STRICT

      static final String IS_STRICT
      The key for the option to enable strict parsing. This option is of type Boolean and defaults to true. If false, unknown elements will be ignored instead of causing a failure.
      See Also:
    • INPUT_SOURCE

      static final String INPUT_SOURCE
      The key for the option to enable tracking of line/column numbers. This option is of type InputSource and defaults to null. Providing an input source enables location tracking.
      See Also:
    • TRANSFORMER_CONTEXT

      static final String TRANSFORMER_CONTEXT
      The key for the option to provide a transformer context, which can be used to transform the input while reading to get an advanced version of the model.
      See Also:
  • Method Details

    • read

      Model read(File input, Map<String,?> options) throws IOException, ModelParseException
      Reads the model from the specified file.
      Parameters:
      input - The file to deserialize the model from, must not be null.
      options - The options to use for deserialization, may be null to use the default values.
      Returns:
      The deserialized model, never null.
      Throws:
      IOException - If the model could not be deserialized.
      ModelParseException - If the input format could not be parsed.
    • read

      Model read(Reader input, Map<String,?> options) throws IOException, ModelParseException
      Reads the model from the specified character reader. The reader will be automatically closed before the method returns.
      Parameters:
      input - The reader to deserialize the model from, must not be null.
      options - The options to use for deserialization, may be null to use the default values.
      Returns:
      The deserialized model, never null.
      Throws:
      IOException - If the model could not be deserialized.
      ModelParseException - If the input format could not be parsed.
    • read

      Model read(InputStream input, Map<String,?> options) throws IOException, ModelParseException
      Reads the model from the specified byte stream. The stream will be automatically closed before the method returns.
      Parameters:
      input - The stream to deserialize the model from, must not be null.
      options - The options to use for deserialization, may be null to use the default values.
      Returns:
      The deserialized model, never null.
      Throws:
      IOException - If the model could not be deserialized.
      ModelParseException - If the input format could not be parsed.