1 /** 2 * EasyBeans 3 * Copyright (C) 2006 Bull S.A.S. 4 * Contact: easybeans@objectweb.org 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 * USA 20 * 21 * -------------------------------------------------------------------------- 22 * $Id: EZBContainer.java 1121 2006-09-27 08:51:06Z benoitf $ 23 * -------------------------------------------------------------------------- 24 */ 25 26 package org.objectweb.easybeans.api; 27 28 29 import org.objectweb.easybeans.persistence.api.EZBPersistenceUnitManager; 30 31 /** 32 * This interface represents an EasyBeans EJB Container. 33 * @author Florent Benoit 34 * 35 */ 36 public interface EZBContainer extends EZBManageableContainer { 37 38 /** 39 * Gets a factory with its given name. 40 * @param factoryName the factory name. 41 * @return the factory found or null. 42 */ 43 Factory getFactory(String factoryName); 44 45 /** 46 * Gets the classloader of the container. May change at each restart of the container. 47 * @return a classloader. 48 */ 49 ClassLoader getClassLoader(); 50 51 /** 52 * @return Returns the Container Configuration. 53 */ 54 EZBContainerConfig getConfiguration(); 55 56 /** 57 * Gets the persistence manager object which manages all persistence-unit associated to this container. 58 * @return persistence unit manager object 59 */ 60 EZBPersistenceUnitManager getPersistenceUnitManager(); 61 62 /** 63 * Sets the classloader. (if it was not already set else exception). 64 * @param classLoader to be used by the container 65 */ 66 void setClassLoader(ClassLoader classLoader); 67 68 /** 69 * Sets the persistence manager object which manages all persistence-unit associated to this container. 70 * @param persistenceUnitManager persistence unit manager object to set. 71 */ 72 void setPersistenceUnitManager(EZBPersistenceUnitManager persistenceUnitManager); 73 74 /** 75 * Gets the permission manager (that manages EJB permissions). 76 * @return permission manager. 77 */ 78 EZBPermissionManager getPermissionManager(); 79 80 /** 81 * Sets the permission manager (that manages EJB permissions). 82 * @param ezbPermissionManager the EasyBeans permission manager. 83 */ 84 void setPermissionManager(EZBPermissionManager ezbPermissionManager); 85 86 } 87