/******************************************************************************* * Copyright (c) 2005 IBM Corporation 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: * IBM Corporation - initial API and implementation *******************************************************************************/ /* */ package org.eclipse.jem.internal.proxy.core; /** * Extensions point ("extensions" elements of the "org.eclipse.jem.proxy.contributors" extension point). * <p> * Implementers of this interface are called when the appropriate registry type for a given classPath/plugin is present. * It is used to register the registry type specific extensions. * @since 1.1.0 */ public interface IExtensionRegistration { /** * This will be called before any contributeToRegistry's have been called. Typically all that * should be done in here is to register extension factories or constants. It is best if no * actual proxy calls are made. This is because the registry does not yet have all of the * appropriate extensions registered and it would be possible to accidently reference a bean type * that has not yet had its appropriate factory registered. * <p> * <b>Note:</b> This may be called more than once if used in more than one extension or if used in a plugin and a container path and both are found. * Should take this into account and not register twice. * @param baseRegistry * * @since 1.1.0 */ public void register(BaseProxyFactoryRegistry baseRegistry); }