org.apache.derby.impl.db
Class DatabaseContextImpl

java.lang.Object
  extended by org.apache.derby.iapi.services.context.ContextImpl
      extended by org.apache.derby.impl.db.DatabaseContextImpl
All Implemented Interfaces:
DatabaseContext, Context

final class DatabaseContextImpl
extends ContextImpl
implements DatabaseContext

A context that shutdowns down the database on a databsae exception.


Field Summary
private  Database db
           
 
Fields inherited from interface org.apache.derby.iapi.db.DatabaseContext
CONTEXT_ID
 
Constructor Summary
DatabaseContextImpl(ContextManager cm, Database db)
           
 
Method Summary
 void cleanupOnError(java.lang.Throwable t)
          Contexts will be passed errors that are caught by the outer system when they are serious enough to require corrective action.
 boolean equals(java.lang.Object other)
           
 Database getDatabase()
           
 int hashCode()
           
 
Methods inherited from class org.apache.derby.iapi.services.context.ContextImpl
appendErrorInfo, getContextManager, getIdName, isLastHandler, popMe, pushMe
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.derby.iapi.services.context.Context
getContextManager, getIdName, isLastHandler, popMe, pushMe
 

Field Detail

db

private final Database db
Constructor Detail

DatabaseContextImpl

DatabaseContextImpl(ContextManager cm,
                    Database db)
Method Detail

cleanupOnError

public void cleanupOnError(java.lang.Throwable t)
Description copied from interface: Context
Contexts will be passed errors that are caught by the outer system when they are serious enough to require corrective action. They will be told what the error is, so that they can react appropriately. Most of the time, the contexts will react by either doing nothing or by removing themselves from the context manager. If there are no other references to the context, removing itself from the manager equates to freeing it.
On an exception that is session severity or greater the Context must push itself off the stack. This is to ensure that after a session has been closed there are no Contexts on the stack that potentially hold references to objects, thus delaying their garbage collection.

Contexts must release all their resources before removing themselves from their context manager.

The context manager will "unwind" the contexts during cleanup in the reverse order they were placed on its global stack.

If error is an instance of StandardException then an implementation of this method may throw a new exception if and only if the new exception is an instance of StandardException that is more severe than the original error or the new exception is a not an instance of StandardException (e.g java.lang.NullPointerException).

Specified by:
cleanupOnError in interface Context

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getDatabase

public Database getDatabase()
Specified by:
getDatabase in interface DatabaseContext

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.