org.postgresql.pljava

Interface Session

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.

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 Details

addSavepointListener

public 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

public 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.

executeAsSessionUser

public 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
See Also:
java.sql.Statement.execute(java.lang.String)

getAttribute

public 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

public 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.

getSessionUserName

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

getUserName

public String getUserName()

removeAttribute

public 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

public 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

public 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

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

Copyright (c) 2003, 2004, 2005 TADA AB - Taby Sweden. \ Distributed under the terms shown in COPYRIGHT