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: DefaultArchiveFactory.java 925 2006-07-25 12:37:03Z benoitf $ 23 * -------------------------------------------------------------------------- 24 */ 25 26 package org.objectweb.easybeans.container.archive; 27 28 import java.io.File; 29 30 import org.objectweb.easybeans.api.EZBArchive; 31 import org.objectweb.easybeans.api.EZBArchiveFactory; 32 33 /** 34 * Default factory that manages the file (jar file or directories). 35 * @author Florent Benoit 36 */ 37 public class DefaultArchiveFactory implements EZBArchiveFactory<File> { 38 39 /** 40 * Creates an EZBArchive object for the given object. 41 * @param file the file that this factory can manage. 42 * @return a new EZBArchive instance. 43 */ 44 public EZBArchive create(final File file) { 45 if (file.isDirectory()) { 46 return new EZBDirectoryArchiveImpl(file); 47 } 48 return new EZBJarArchiveImpl(file); 49 } 50 51 } 52