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.api; 28 29 import org.objectweb.util.browser.api.Context; 30 import org.objectweb.util.browser.api.Entry; 31 32 /** 33 * Standard interface for {@link Entry Entry} factories. 34 * 35 * 36 * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a> 37 * @version 0.1 38 */ 39 public interface EntryFactory { 40 41 /** 42 * The standard name of this interface to use 43 * in the context of the Fractal framework. 44 */ 45 static final String ENTRY_FACTORY = EntryFactory.class.getName(); 46 47 /** 48 * Creates a new {@link Entry Entry} with a value, a name, and a context. 49 * 50 * The value, name, and context of the created {@link Entry Entry} 51 * are set respectively to the given value, name, and context. 52 * 53 * @param value The value of the {@link Entry Entry} to create. 54 * @param name The name of the {@link Entry Entry} to create. 55 * @param context The context of the {@link Entry Entry} to create. 56 * 57 * @return The created {@link Entry Entry}. 58 * 59 * @postcondition 60 * return.getOWValue() == value 61 * and return.getOWName() == name 62 * and return.getOWContext() == context; 63 */ 64 Entry newOWEntry(Object value, Name name, Context context); 65 66 } 67