1 /*=========================================================================== 2 3 ObjectWeb Naming Context Framework 4 Copyright (C) 2002 USTL - LIFL - GOAL 5 Contact: architecture@objectweb.org 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public 9 License as published by the Free Software Foundation; either 10 version 2.1 of the License, or any later version. 11 12 This library is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 Lesser General Public License for more details. 16 17 You should have received a copy of the GNU Lesser General Public 18 License along with this library; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 20 USA 21 22 Initial developer(s): Philippe Merle. 23 Contributor(s): ______________________________________. 24 25 ===========================================================================*/ 26 27 package org.objectweb.util.browser.core.naming; 28 29 /** The console's imports */ 30 import org.objectweb.util.browser.core.api.ContextContainer; 31 import org.objectweb.util.browser.core.api.ContextContainerFactory; 32 import org.objectweb.util.browser.core.api.Decoder; 33 34 /** 35 * Basic implementation for ContextContainer factories. 36 * It adds an interceptor which decode the object to add 37 * 38 * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a> 39 * @version 0.1 40 */ 41 public class DefaultContextContainerFactory 42 implements ContextContainerFactory { 43 44 /** The decoder */ 45 protected Decoder decoder_ = null; 46 47 /** 48 * Default Constructor 49 * @param decoder The first link of the chain of decoder 50 */ 51 public DefaultContextContainerFactory(Decoder decoder) { 52 decoder_ = decoder; 53 } 54 55 /** 56 * Creates a new ContextContainer. 57 * 58 * @return The created ContextContainer. 59 */ 60 public ContextContainer create() { 61 ContextContainer cc = new DefaultContextContainer(); 62 if (decoder_ != null) { 63 ContextContainerDecoderManager interceptor = new ContextContainerDecoderManager(); 64 interceptor.setDecoder(decoder_); 65 interceptor.setDelegate(cc); 66 return interceptor; 67 } 68 return cc; 69 } 70 71 } 72