org.postgresql.pljava.internal
Class Session

java.lang.Object
  extended byorg.postgresql.pljava.internal.Session
All Implemented Interfaces:
EOXactListener, Session

public class Session
extends java.lang.Object
implements EOXactListener, Session

An instance of this interface reflects the current session. The attribute store is transactional.


Constructor Summary
Session()
           
 
Method Summary
 void addTransactionListener(TransactionListener listener)
          Adds the specified listener to the list of listeners that will receive transactional events.
 boolean executeAsSessionUser(java.sql.Connection conn, java.lang.String statement)
          Execute a statement as a session user rather then the effective user.
 java.lang.Object getAttribute(java.lang.String attributeName)
          Obtain an attribute from the current session.
 java.lang.String getSessionUserName()
          Return the session user.
 TransactionListener[] getTransactionListeners()
          Returns the list of listeners that will receive transactional events.
 java.lang.String getUserName()
          Return the current user.
 void onEOXact(boolean isCommit)
          Callback received from the backend when a transaction has ended.
 void removeAttribute(java.lang.String attributeName)
          Remove an attribute previously stored in the session.
 void removeTransactionListener(TransactionListener listener)
          Removes the specified listener from the list of listeners that will receive transactional events.
 void setAttribute(java.lang.String attributeName, java.lang.Object value)
          Set an attribute to a value in the current session.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Session

public Session()
Method Detail

addTransactionListener

public void addTransactionListener(TransactionListener listener)
Adds the specified listener to the list of listeners that will receive transactional events.


getAttribute

public java.lang.Object getAttribute(java.lang.String attributeName)
Description copied from interface: Session
Obtain an attribute from the current session.

Specified by:
getAttribute in interface Session
Parameters:
attributeName - The name of the attribute
Returns:
The value of the attribute

getTransactionListeners

public TransactionListener[] getTransactionListeners()
Returns the list of listeners that will receive transactional events.


getUserName

public java.lang.String getUserName()
Return the current user.

Specified by:
getUserName in interface Session

getSessionUserName

public java.lang.String getSessionUserName()
Return the session user.

Specified by:
getSessionUserName in interface Session

onEOXact

public void onEOXact(boolean isCommit)
Description copied from interface: EOXactListener
Callback received from the backend when a transaction has ended.

Specified by:
onEOXact in interface EOXactListener
Parameters:
isCommit - Set to true if the commit was a success and false if the transaction aborted.

removeAttribute

public void removeAttribute(java.lang.String attributeName)
Description copied from interface: Session
Remove an attribute previously stored in the session. If no attribute is found, nothing happens.

Specified by:
removeAttribute in interface Session
Parameters:
attributeName - The name of the attribute.

setAttribute

public void setAttribute(java.lang.String attributeName,
                         java.lang.Object value)
Description copied from interface: Session
Set an attribute to a value in the current session.

Specified by:
setAttribute in interface Session
Parameters:
attributeName -
value -

removeTransactionListener

public void removeTransactionListener(TransactionListener listener)
Removes the specified listener from the list of listeners that will receive transactional events.


executeAsSessionUser

public boolean executeAsSessionUser(java.sql.Connection conn,
                                    java.lang.String statement)
                             throws java.sql.SQLException
Description copied from interface: Session
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.

Specified by:
executeAsSessionUser in interface Session
Parameters:
conn - The connection used for the execution
statement - The statement to execute
Returns:
The result of the execution.
Throws:
java.sql.SQLException - if something goes wrong when executing.
See Also:
Statement.execute(java.lang.String)


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