/******************************************************************************* * Copyright (c) 2004 Composent, Inc. and others. All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: Composent, Inc. - initial API and implementation ******************************************************************************/ package org.eclipse.ecf.core.sharedobject; import org.eclipse.ecf.core.ContainerCreateException; import org.eclipse.ecf.core.ContainerTypeDescription; /** * Factory contract for {@link SharedObjectContainerFactory} * */ public interface ISharedObjectContainerFactory { /** * Make ISharedObjectContainer instance. * * @param desc * the ContainerTypeDescription to use to create the instance * @param args * an Object [] of arguments passed to the createInstance method * of the IContainerInstantiator * @return a valid instance of ISharedObjectContainer * @throws ContainerCreateException */ public ISharedObjectContainer createSharedObjectContainer( ContainerTypeDescription desc, Object[] args) throws ContainerCreateException; /** * Make ISharedObjectContainer instance. * * @param descriptionName * the ContainerTypeDescription name to lookup * @return a valid instance of ISharedObjectContainer * @throws ContainerCreateException */ public ISharedObjectContainer createSharedObjectContainer( String descriptionName) throws ContainerCreateException; /** * Make ISharedObjectContainer instance. * * @param descriptionName * the ContainerTypeDescription name to lookup * @param args * the Object [] of arguments passed to the * IContainerInstantiator.createInstance method * @return a valid instance of ISharedObjectContainer * @throws ContainerCreateException */ public ISharedObjectContainer createSharedObjectContainer( String descriptionName, Object[] args) throws ContainerCreateException; }