1. /*
  2. * @(#)XmlReader.java 1.3 03/12/19
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package javax.sql.rowset.spi;
  8. import java.sql.SQLException;
  9. import java.io.Reader;
  10. import javax.sql.RowSetReader;
  11. import javax.sql.rowset.*;
  12. /**
  13. * A specialized interface that facilitates an extension of the
  14. * <code>SyncProvider</code> abstract class for XML orientated
  15. * synchronization providers.
  16. * <P>
  17. * <code>SyncProvider</code> implementations that supply XML data reader
  18. * capabilities such as output XML stream capabilities can implement this
  19. * interface to provider standard <code>XmlReader</code> objects to
  20. * <code>WebRowSet</code> implementations.
  21. * <p>
  22. * An <code>XmlReader</code> object is registered as the
  23. * XML reader for a <code>WebRowSet</code> by being assigned to the
  24. * rowset's <code>xmlReader</code> field. When the <code>WebRowSet</code>
  25. * object's <code>readXml</code> method is invoked, it in turn invokes
  26. * its XML reader's <code>readXML</code> method.
  27. */
  28. public interface XmlReader extends RowSetReader {
  29. /**
  30. * Reads and parses the given <code>WebRowSet</code> object from the given
  31. * input stream in XML format. The <code>xmlReader</code> field of the
  32. * given <code>WebRowSet</code> object must contain this
  33. * <code>XmlReader</code> object.
  34. * <P>
  35. * If a parsing error occurs, the exception that is thrown will
  36. * include information about the location of the error in the
  37. * original XML document.
  38. *
  39. * @param caller the <code>WebRowSet</code> object to be parsed, whose
  40. * <code>xmlReader</code> field must contain a reference to
  41. * this <code>XmlReader</code> object
  42. * @param reader the <code>java.io.Reader</code> object from which
  43. * <code>caller</code> will be read
  44. * @throws SQLException if a database access error occurs or
  45. * this <code>XmlReader</code> object is not the reader
  46. * for the given rowset
  47. */
  48. public void readXML(WebRowSet caller, java.io.Reader reader)
  49. throws SQLException;
  50. }