package customerSession;
import javax.rmi.*;
import com.ibm.ivj.ejb.runtime.*;
/**
 * CustomerSessionAccessBean
 * @generated
 */
public class CustomerSessionAccessBean extends AbstractSessionAccessBean {
	/**
	 * @generated
	 */
	private CustomerSession __ejbRef;
	/**
	 * CustomerSessionAccessBean
	 * @generated
	 */
	public CustomerSessionAccessBean() {
		super();
	}
	/**
	 * CustomerSessionAccessBean
	 * @generated
	 */
	public CustomerSessionAccessBean(javax.ejb.EJBObject o)
		throws java.rmi.RemoteException {
		super(o);
	}
	/**
	 * defaultJNDIName
	 * @generated
	 */
	public String defaultJNDIName() {
		return "ejb/customerSession/CustomerSessionHome";
	}
	/**
	 * ejbHome
	 * @generated
	 */
	private customerSession.CustomerSessionHome ejbHome()
		throws java.rmi.RemoteException,
		javax.naming.NamingException {
		return (customerSession.CustomerSessionHome) PortableRemoteObject
			.narrow(getHome(), customerSession.CustomerSessionHome.class);
	}
	/**
	 * ejbRef
	 * @generated
	 */
	private customerSession.CustomerSession ejbRef()
		throws java.rmi.RemoteException {
		if (ejbRef == null)
			return null;
		if (__ejbRef == null)
			__ejbRef = (customerSession.CustomerSession) PortableRemoteObject
				.narrow(ejbRef, customerSession.CustomerSession.class);

		return __ejbRef;
	}
	/**
	 * instantiateEJB
	 * @generated
	 */
	protected void instantiateEJB()
		throws javax.naming.NamingException,
		javax.ejb.CreateException,
		java.rmi.RemoteException {
		if (ejbRef() != null)
			return;

		ejbRef = ejbHome().create();
	}
	/**
	 * customerHoldableCursor
	 * @generated
	 */
	public customerSession.CustomerHoldableCursorOutput customerHoldableCursor(
		customerSession.CustomerHoldableCursorInput input)
		throws javax.naming.NamingException,
		java.lang.Exception,
		javax.ejb.CreateException,
		java.rmi.RemoteException {
		instantiateEJB();
		return ejbRef().customerHoldableCursor(input);
	}
	/**
	 * customerSession
	 * @generated
	 */
	public customerSession.CustomerOutput customerSession(
		customerSession.CustomerInput input)
		throws javax.naming.NamingException,
		javax.ejb.FinderException,
		irwwbase.UserException,
		java.lang.Exception,
		javax.ejb.CreateException,
		java.rmi.RemoteException {
		instantiateEJB();
		return ejbRef().customerSession(input);
	}
	/**
	 * portfolio
	 * @generated
	 */
	public long portfolio(java.lang.String type, short cid, short did, short wid)
		throws javax.naming.NamingException,
		irwwbase.UserException,
		javax.ejb.CreateException,
		java.rmi.RemoteException {
		instantiateEJB();
		return ejbRef().portfolio(type, cid, did, wid);
	}
	/**
	 * balances
	 * @generated
	 */
	public java.util.Collection balances(
		java.lang.String type,
		short cid,
		short wid)
		throws javax.naming.NamingException,
		irwwbase.UserException,
		javax.ejb.CreateException,
		java.rmi.RemoteException {
		instantiateEJB();
		return ejbRef().balances(type, cid, wid);
	}
	/**
	 * queryCustomerCredit
	 * @generated
	 */
	public customerSession.CustomerMOROutput queryCustomerCredit(
		customerSession.CustomerMORInput input)
		throws javax.naming.NamingException,
		java.lang.Exception,
		javax.ejb.CreateException,
		java.rmi.RemoteException {
		instantiateEJB();
		return ejbRef().queryCustomerCredit(input);
	}
}