/*
 * JOnAS: Java(TM) Open Application Server
 * Copyright (C) 1999 Bull S.A.
 * Contact: jonas-team@objectweb.org
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or any later version.
 * 
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
 * USA
 *
 * Initial developer(s): Philippe Coq, Philippe Durieux
 * Contributor(s):
 *
 * --------------------------------------------------------------------------
 * $Id$
 * --------------------------------------------------------------------------
 */

package org.objectweb.jonas_ejb.container;

import java.util.List;
import javax.ejb.EJBContext;
import javax.naming.Context;
import javax.transaction.Transaction;

/**
 * Context associated to a request to a bean.
 */
public class RequestCtx {

    public boolean mustCommit = false; // must commit current Tx at postInvoke
    public Throwable sysExc = null; // system exception or error raised in business method
    public Transaction clientTx = null; // Tx to be resumed at postInvoke
    public Context jndiCtx = null; // saved JNDICtx to be resumed at postInvoke
    public Transaction currTx = null; // transaction in which the request will execute
    public List connectionList = null; // saved Connection List
    public int txAttr = 0;
    public JSessionSwitch ss = null;

    /**
     * constructor. Called at preInvoke.
     */
    public RequestCtx(int txa) {
	TraceEjb.debugIc("RequestCtx constructor");
	this.txAttr = txa;
    }

} 
