Class DBContext

  • All Implemented Interfaces:
    Context, InternalEventContext, InternalHousekeepingContext

    public class DBContext
    extends AbstractContext
    Example context impl that uses a database to store stuff :) yes, this is silly expects a mysql db test with table CREATE TABLE contextstore ( k varchar(100), val blob ); very fragile, crappy code.... just a demo!
    Version:
    $Id$
    • Field Detail

      • conn

        java.sql.Connection conn
    • Constructor Detail

      • DBContext

        public DBContext()
      • DBContext

        public DBContext​(Context inner)
    • Method Detail

      • internalGet

        public java.lang.Object internalGet​(java.lang.String key)
        retrieves a serialized object from the db and returns the living instance to the caller.
        Specified by:
        internalGet in class AbstractContext
        Parameters:
        key - key whose associated value is to be returned
        Returns:
        object stored in the context
      • internalPut

        public java.lang.Object internalPut​(java.lang.String key,
                                            java.lang.Object value)
        Serializes and stores an object in the database. This is really a hokey way to do it, and will cause problems. The right way is to use a prepared statement...
        Specified by:
        internalPut in class AbstractContext
        Parameters:
        key - key with which to associate the value
        value - value to be associated with the key
        Returns:
        previously stored value if exists, or null
      • internalContainsKey

        public boolean internalContainsKey​(java.lang.String key)
        Not implementing. Not required for Velocity core operation, so not bothering. As we say above : "very fragile, crappy code..."
        Specified by:
        internalContainsKey in class AbstractContext
        Parameters:
        key - key to test for existence
        Returns:
        true if found, false if not
      • internalGetKeys

        public java.lang.String[] internalGetKeys()
        Not implementing. Not required for Velocity core operation, so not bothering. As we say above : "very fragile, crappy code..."
        Specified by:
        internalGetKeys in class AbstractContext
        Returns:
        array of keys
      • internalRemove

        public java.lang.Object internalRemove​(java.lang.String key)
        Not implementing. Not required for Velocity core operation, so not bothering. As we say above : "very fragile, crappy code..."
        Specified by:
        internalRemove in class AbstractContext
        Parameters:
        key - key to remove
        Returns:
        object removed if exists, else null
      • setup

        private void setup()