Class DoctypeReader

java.lang.Object
java.io.Reader
org.custommonkey.xmlunit.DoctypeReader
All Implemented Interfaces:
Closeable, AutoCloseable, Readable

public class DoctypeReader extends Reader
Adapts the marked-up content in a source Reader to specify that it conforms to a different DTD. Combines Reader semantics with the ability to specify a target doctype for a character stream containing XML markup. Used by Validator class to wrap a Reader when performing validation of a document against a DTD.
  • Field Details

  • Constructor Details

    • DoctypeReader

      public DoctypeReader(Reader originalSource, String doctypeName, String systemID)
      Create a Reader whose XML content is provided by the originalSource with the exception of the DOCTYPE which is provided by the doctypeName and systemID.
      Parameters:
      originalSource - the original input
      doctypeName - name of the new doctype
      systemID - system id of the new doctype
  • Method Details

    • getContent

      protected String getContent() throws IOException
      Returns:
      the content of the original source, without amendments or substitutions. Safe to call multiple times.
      Throws:
      IOException - if thrown while reading from the original source
    • getContent

      private StringBuilder getContent(BufferedReader originalSource) throws IOException
      Parameters:
      originalSource - the original input
      Returns:
      the contents of the originalSource within a StringBuffer
      Throws:
      IOException - if thrown while reading from the original source
    • read

      public int read(char[] cbuf, int off, int len) throws IOException
      Read DOCTYPE-replaced content from the wrapped Reader
      Specified by:
      read in class Reader
      Throws:
      IOException
    • read

      public int read() throws IOException
      Read DOCTYPE-replaced content from the wrapped Reader
      Overrides:
      read in class Reader
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Reader
      Throws:
      IOException