org.springframework.jdbc.support.xml
Class Jdbc4SqlXmlHandler

java.lang.Object
  extended by org.springframework.jdbc.support.xml.Jdbc4SqlXmlHandler
All Implemented Interfaces:
SqlXmlHandler

public class Jdbc4SqlXmlHandler
extends Object
implements SqlXmlHandler

Default implementation of the SqlXmlHandler interface. Provides database-specific implementations for storing and retrieving XML documents to and from fields in a database, relying on the JDBC 4.0 java.sql.SQLXML facility.

Since:
2.5.6
Author:
Thomas Risberg, Juergen Hoeller
See Also:
SQLXML, ResultSet.getSQLXML(int), PreparedStatement.setSQLXML(int, java.sql.SQLXML)

Constructor Summary
Jdbc4SqlXmlHandler()
           
 
Method Summary
 InputStream getXmlAsBinaryStream(ResultSet rs, int columnIndex)
          Retrieve the given column as binary stream from the given ResultSet.
 InputStream getXmlAsBinaryStream(ResultSet rs, String columnName)
          Retrieve the given column as binary stream from the given ResultSet.
 Reader getXmlAsCharacterStream(ResultSet rs, int columnIndex)
          Retrieve the given column as character stream from the given ResultSet.
 Reader getXmlAsCharacterStream(ResultSet rs, String columnName)
          Retrieve the given column as character stream from the given ResultSet.
 Source getXmlAsSource(ResultSet rs, int columnIndex, Class sourceClass)
          Retrieve the given column as Source implemented using the specified source class from the given ResultSet.
 Source getXmlAsSource(ResultSet rs, String columnName, Class sourceClass)
          Retrieve the given column as Source implemented using the specified source class from the given ResultSet.
 String getXmlAsString(ResultSet rs, int columnIndex)
          Retrieve the given column as String from the given ResultSet.
 String getXmlAsString(ResultSet rs, String columnName)
          Retrieve the given column as String from the given ResultSet.
 SqlXmlValue newSqlXmlValue(Class resultClass, XmlResultProvider provider)
          Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.
 SqlXmlValue newSqlXmlValue(Document document)
          Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.
 SqlXmlValue newSqlXmlValue(String value)
          Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.
 SqlXmlValue newSqlXmlValue(XmlBinaryStreamProvider provider)
          Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.
 SqlXmlValue newSqlXmlValue(XmlCharacterStreamProvider provider)
          Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Jdbc4SqlXmlHandler

public Jdbc4SqlXmlHandler()
Method Detail

getXmlAsString

public String getXmlAsString(ResultSet rs,
                             String columnName)
                      throws SQLException
Description copied from interface: SqlXmlHandler
Retrieve the given column as String from the given ResultSet.

Might simply invoke ResultSet.getString or work with SQLXML or database-specific classes depending on the database and driver.

Specified by:
getXmlAsString in interface SqlXmlHandler
Parameters:
rs - the ResultSet to retrieve the content from
columnName - the column name to use
Returns:
the content as String, or null in case of SQL NULL
Throws:
SQLException - if thrown by JDBC methods
See Also:
ResultSet.getString(int), ResultSet.getSQLXML(int)

getXmlAsString

public String getXmlAsString(ResultSet rs,
                             int columnIndex)
                      throws SQLException
Description copied from interface: SqlXmlHandler
Retrieve the given column as String from the given ResultSet.

Might simply invoke ResultSet.getString or work with SQLXML or database-specific classes depending on the database and driver.

Specified by:
getXmlAsString in interface SqlXmlHandler
Parameters:
rs - the ResultSet to retrieve the content from
columnIndex - the column index to use
Returns:
the content as String, or null in case of SQL NULL
Throws:
SQLException - if thrown by JDBC methods
See Also:
ResultSet.getString(int), ResultSet.getSQLXML(int)

getXmlAsBinaryStream

public InputStream getXmlAsBinaryStream(ResultSet rs,
                                        String columnName)
                                 throws SQLException
Description copied from interface: SqlXmlHandler
Retrieve the given column as binary stream from the given ResultSet.

Might simply invoke ResultSet.getAsciiStream or work with SQLXML or database-specific classes depending on the database and driver.

Specified by:
getXmlAsBinaryStream in interface SqlXmlHandler
Parameters:
rs - the ResultSet to retrieve the content from
columnName - the column name to use
Returns:
the content as a binary stream, or null in case of SQL NULL
Throws:
SQLException - if thrown by JDBC methods
See Also:
ResultSet.getSQLXML(int), SQLXML.getBinaryStream()

getXmlAsBinaryStream

public InputStream getXmlAsBinaryStream(ResultSet rs,
                                        int columnIndex)
                                 throws SQLException
Description copied from interface: SqlXmlHandler
Retrieve the given column as binary stream from the given ResultSet.

Might simply invoke ResultSet.getAsciiStream or work with SQLXML or database-specific classes depending on the database and driver.

Specified by:
getXmlAsBinaryStream in interface SqlXmlHandler
Parameters:
rs - the ResultSet to retrieve the content from
columnIndex - the column index to use
Returns:
the content as binary stream, or null in case of SQL NULL
Throws:
SQLException - if thrown by JDBC methods
See Also:
ResultSet.getSQLXML(int), SQLXML.getBinaryStream()

getXmlAsCharacterStream

public Reader getXmlAsCharacterStream(ResultSet rs,
                                      String columnName)
                               throws SQLException
Description copied from interface: SqlXmlHandler
Retrieve the given column as character stream from the given ResultSet.

Might simply invoke ResultSet.getCharacterStream or work with SQLXML or database-specific classes depending on the database and driver.

Specified by:
getXmlAsCharacterStream in interface SqlXmlHandler
Parameters:
rs - the ResultSet to retrieve the content from
columnName - the column name to use
Returns:
the content as character stream
Throws:
SQLException - if thrown by JDBC methods
See Also:
ResultSet.getSQLXML(int), SQLXML.getCharacterStream()

getXmlAsCharacterStream

public Reader getXmlAsCharacterStream(ResultSet rs,
                                      int columnIndex)
                               throws SQLException
Description copied from interface: SqlXmlHandler
Retrieve the given column as character stream from the given ResultSet.

Might simply invoke ResultSet.getCharacterStream or work with SQLXML or database-specific classes depending on the database and driver.

Specified by:
getXmlAsCharacterStream in interface SqlXmlHandler
Parameters:
rs - the ResultSet to retrieve the content from
columnIndex - the column index to use
Returns:
the content as character stream
Throws:
SQLException - if thrown by JDBC methods
See Also:
ResultSet.getSQLXML(int), SQLXML.getCharacterStream()

getXmlAsSource

public Source getXmlAsSource(ResultSet rs,
                             String columnName,
                             Class sourceClass)
                      throws SQLException
Description copied from interface: SqlXmlHandler
Retrieve the given column as Source implemented using the specified source class from the given ResultSet.

Might work with SQLXML or database-specific classes depending on the database and driver.

Specified by:
getXmlAsSource in interface SqlXmlHandler
Parameters:
rs - the ResultSet to retrieve the content from
columnName - the column name to use
sourceClass - the implementation class to be used
Returns:
the content as character stream
Throws:
SQLException - if thrown by JDBC methods
See Also:
ResultSet.getSQLXML(int), SQLXML.getSource(java.lang.Class)

getXmlAsSource

public Source getXmlAsSource(ResultSet rs,
                             int columnIndex,
                             Class sourceClass)
                      throws SQLException
Description copied from interface: SqlXmlHandler
Retrieve the given column as Source implemented using the specified source class from the given ResultSet.

Might work with SQLXML or database-specific classes depending on the database and driver.

Specified by:
getXmlAsSource in interface SqlXmlHandler
Parameters:
rs - the ResultSet to retrieve the content from
columnIndex - the column index to use
sourceClass - the implementation class to be used
Returns:
the content as character stream
Throws:
SQLException - if thrown by JDBC methods
See Also:
ResultSet.getSQLXML(int), SQLXML.getSource(java.lang.Class)

newSqlXmlValue

public SqlXmlValue newSqlXmlValue(String value)
Description copied from interface: SqlXmlHandler
Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.

Specified by:
newSqlXmlValue in interface SqlXmlHandler
Parameters:
value - the XML String value providing XML data
Returns:
the implementation specific instance
See Also:
SqlXmlValue, SQLXML.setString(String)

newSqlXmlValue

public SqlXmlValue newSqlXmlValue(XmlBinaryStreamProvider provider)
Description copied from interface: SqlXmlHandler
Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.

Specified by:
newSqlXmlValue in interface SqlXmlHandler
Parameters:
provider - the XmlBinaryStreamProvider providing XML data
Returns:
the implementation specific instance
See Also:
SqlXmlValue, SQLXML.setBinaryStream()

newSqlXmlValue

public SqlXmlValue newSqlXmlValue(XmlCharacterStreamProvider provider)
Description copied from interface: SqlXmlHandler
Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.

Specified by:
newSqlXmlValue in interface SqlXmlHandler
Parameters:
provider - the XmlCharacterStreamProvider providing XML data
Returns:
the implementation specific instance
See Also:
SqlXmlValue, SQLXML.setCharacterStream()

newSqlXmlValue

public SqlXmlValue newSqlXmlValue(Class resultClass,
                                  XmlResultProvider provider)
Description copied from interface: SqlXmlHandler
Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.

Specified by:
newSqlXmlValue in interface SqlXmlHandler
Parameters:
resultClass - the Result implementation class to be used
provider - the XmlResultProvider that will provide the XML data
Returns:
the implementation specific instance
See Also:
SqlXmlValue, SQLXML.setResult(Class)

newSqlXmlValue

public SqlXmlValue newSqlXmlValue(Document document)
Description copied from interface: SqlXmlHandler
Create a SqlXmlValue instance for the given XML data, as supported by the underlying JDBC driver.

Specified by:
newSqlXmlValue in interface SqlXmlHandler
Parameters:
document - the XML Document to be used
Returns:
the implementation specific instance
See Also:
SqlXmlValue