/******************************************************************************* * Copyright (c) 2001, 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.remote; /* */ import org.eclipse.jem.internal.proxy.core.*; /** * Interface for Remote VM Bean Type Proxy Factories. * All extension factories for Remote VM must implement this interface. */ public interface IREMBeanTypeProxyFactory extends IBeanTypeProxyFactory { /** * Return a bean type proxy for the class name. * Return null if the extension factory doesn't handle this class. * Don't register any proxies returned, they will automatically be registered. * This should only return bean type proxies where the factory can determine * everything it needs, such as supertype and classID. * NOTE: This is implemented for the usage of the * standard BeanType proxy factory. It should * NOT be called by anyone else. They should * go through the IStandardBeanTypeFactory * instead. The standard bean type factory * will call this method on the appropriate * extension when it needs to. * * Creation date: (12/3/99 2:26:12 PM) */ public IREMBeanTypeProxy getExtensionBeanTypeProxy(String typeName); /** * Return a bean type proxy for the class name. * Return null if the extension factory doesn't handle this class. * Don't register any proxies returned, they will automatically be registered. * This should only return bean type proxies where the factory can determine * everything it needs, such as supertype and classID. * NOTE: This is implemented for the usage of the * standard BeanType proxy factory. It should * NOT be called by anyone else. They should * go through the IStandardBeanTypeFactory * instead. The standard bean type factory * will call this method on the appropriate * extension when it needs to. * @param typeName * @param expression * @return * * @since 1.1.0 */ public IProxyBeanType getExtensionBeanTypeProxy(String typeName, IExpression expression); /** * Return a bean type proxy for the class id and class name. * Return null if the extension factory doesn't handle this class. * Don't register any proxies returned, they will automatically be registered. * This will be called in the case that a new class id was returned * from the server that we don't have registered yet. Implementers will * created a proxy out of the name and the id and return it. * The supertype will be passed in so that the extension factory doesn't need to * try to find it. * NOTE: This is implemented for the usage of the * standard BeanType proxy factory. It should * NOT be called by anyone else. They should * go through the IStandardBeanTypeFactory * instead. The standard bean type factory * will call this method on the appropriate * extension when it needs to. * * Creation date: (12/3/99 2:26:12 PM) */ public IREMBeanTypeProxy getExtensionBeanTypeProxy(String typeName, Integer classID, IBeanTypeProxy superType); }