/******************************************************************************* * 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.IReliableContainer; import org.eclipse.ecf.core.sharedobject.util.ISharedObjectMessageSerializer; /** * Core interface that must be implemented by all ECF container instances. * Instances are typically created via {@link SharedObjectContainerFactory} * * @see ISharedObject * @see ISharedObjectManager */ public interface ISharedObjectContainer extends IReliableContainer { /** * Get SharedObjectManager for this container * * @return ISharedObjectManager for this container instance */ public ISharedObjectManager getSharedObjectManager(); /** * <p> * Set the shared object message serializer. The serializer should not be <code>null</code>. * </p> * <p> * Note that users of this method should guarantee that their are not pending messages * to be sent/received...typically by <b>only</b> calling this method prior to connecting/being * connected to from remote containers. * </p> * <p> * Note also that the serializer must perform well when it's methods are called, to prevent * negatively impacting overall container messaging performance. * </p> * @since 2.0 */ public void setSharedObjectMessageSerializer(ISharedObjectMessageSerializer serializer); }