Class JdbcSession

java.lang.Object
org.sqlproc.engine.jdbc.JdbcSession
All Implemented Interfaces:
InvocationHandler

public class JdbcSession extends Object implements InvocationHandler
The JDBC stack implementation of the SQL Engine session contract. In fact it's a proxy to the Connection. It's the first parameter to all primary methods in the SqlQueryEngine and SqlCrudEngine.

The implementation is based on the dynamic proxy design pattern provided by the Java API.

The primary contract is the method for the SqlQuery instance creation.

For more info please see the Tutorials.

Author:
Vladimir Hudec
  • Field Details

    • PROXY_INTERFACES

      private static final Class[] PROXY_INTERFACES
      The contracts implemented by this dynamic proxy.
    • connection

      private Connection connection
      The connection to the database. It should be opened.
    • name

      private String name
      The name of the database related to this session. It's usage is implementation specific.
  • Constructor Details

    • JdbcSession

      private JdbcSession(Connection connection)
      Creates a new instance of this dynamic proxy.
      Parameters:
      connection - the connection to the database
    • JdbcSession

      public JdbcSession(Connection connection, String name)
      Creates a new instance of this dynamic proxy.
      Parameters:
      connection - the connection to the database
      name - the name of the database
  • Method Details

    • invoke

      public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
      Specified by:
      invoke in interface InvocationHandler
      Throws:
      Throwable
    • generateProxy

      public static SqlSession generateProxy(Connection connection)
      The factory method to obtain this dynamic proxy.
      Parameters:
      connection - the connection to the database
      Returns:
      the JDBC stack implementation of the SQL Engine session contract
    • generateProxy

      public static SqlSession generateProxy(Connection connection, String name)
      The factory method to obtain this dynamic proxy.
      Parameters:
      connection - the connection to the database
      name - the name of the database
      Returns:
      the JDBC stack implementation of the SQL Engine session contract
    • getProxyClassLoader

      public static ClassLoader getProxyClassLoader()
      Returns the class loader instance.
      Returns:
      the class loader instance