org.postgresql.pljava
Interface Session

All Known Implementing Classes:
Session

public interface Session

A Session maintains transaction coordinated in-memory data. The data added since the last commit will be lost on a transaction rollback, i.e. the Session state is synchronized with the transaction. Please note that if nested objects (such as lists and maps) are stored in the session, changes internal to those objects are not subject to the session semantics since the session is unaware of them.

Author:
Thomas Hallgren

Method Summary
 void addSavepointListener(SavepointListener listener)
          Adds the specified listener to the list of listeners that will receive savepoint events.
 void addTransactionListener(TransactionListener listener)
          Adds the specified listener to the list of listeners that will receive transactional events.
 void executeAsSessionUser(Connection conn, String statement)
          Execute a statement as a session user rather then the effective user.
 Object getAttribute(String attributeName)
          Obtain an attribute from the current session.
 ObjectPool getObjectPool(Class cls)
          Return an object pool for the given class.
 String getSessionUserName()
          Return the name of the user that owns the current session.
 String getUserName()
          Return the name of the effective user.
 void removeAttribute(String attributeName)
          Remove an attribute previously stored in the session.
 void removeSavepointListener(SavepointListener listener)
          Removes the specified listener from the list of listeners that will receive savepoint events.
 void removeTransactionListener(TransactionListener listener)
          Removes the specified listener from the list of listeners that will receive transactional events.
 void setAttribute(String attributeName, Object value)
          Set an attribute to a value in the current session.
 

Method Detail

addSavepointListener

void addSavepointListener(SavepointListener listener)
Adds the specified listener to the list of listeners that will receive savepoint events. This method does nothing if the listener was already added.

Parameters:
listener - The listener to be added.

addTransactionListener

void addTransactionListener(TransactionListener listener)
Adds the specified listener to the list of listeners that will receive transactional events. This method does nothing if the listener was already added.

Parameters:
listener - The listener to be added.

getAttribute

Object getAttribute(String attributeName)
Obtain an attribute from the current session.

Parameters:
attributeName - The name of the attribute
Returns:
The value of the attribute

getObjectPool

ObjectPool getObjectPool(Class cls)
Return an object pool for the given class. The class must implement the interface PooledObject.

Parameters:
cls -
Returns:
An object pool that pools object of the given class.

getUserName

String getUserName()
Return the name of the effective user. If the currently executing funciton is declared with SECURITY DEFINER, then this method returns the name of the user that defined the function, otherwise, this method will return the same as getSessionUserName().


getSessionUserName

String getSessionUserName()
Return the name of the user that owns the current session.


executeAsSessionUser

void executeAsSessionUser(Connection conn,
                          String statement)
                          throws SQLException
Execute a statement as a session user rather then the effective user. This is useful when functions declared using SECURITY DEFINER wants to give up the definer rights.

Parameters:
conn - The connection used for the execution
statement - The statement to execute
Throws:
SQLException - if something goes wrong when executing.
See Also:
Statement.execute(java.lang.String)

removeAttribute

void removeAttribute(String attributeName)
Remove an attribute previously stored in the session. If no attribute is found, nothing happens.

Parameters:
attributeName - The name of the attribute.

removeSavepointListener

void removeSavepointListener(SavepointListener listener)
Removes the specified listener from the list of listeners that will receive savepoint events. This method does nothing unless the listener is found.

Parameters:
listener - The listener to be removed.

removeTransactionListener

void removeTransactionListener(TransactionListener listener)
Removes the specified listener from the list of listeners that will receive transactional events. This method does nothing unless the listener is found.

Parameters:
listener - The listener to be removed.

setAttribute

void setAttribute(String attributeName,
                  Object value)
Set an attribute to a value in the current session.

Parameters:
attributeName -
value -