blob: cecb136a60efedd306316f105b3e938a5bf9e5ae [file] [log] [blame]
/*******************************************************************************
* 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
*******************************************************************************/
/*
* $RCSfile: IProxyBeanType.java,v $
* $Revision: 1.1 $ $Date: 2005/05/11 19:01:12 $
*/
package org.eclipse.jem.internal.proxy.core;
/**
* This interface is for IBeanTypeProxy's and BeanTypeExpressionProxy's so that we can lazily
* get the beantype proxy and have the expression process it when needed.
*
* @since 1.1.0
*/
public interface IProxyBeanType extends IProxy {
/**
* Answer the name of the type we are proxying This is the fully qualified name. For arrays it will return the format: [Lclassname;
* @return
*
* @since 1.1.0
*/
public String getTypeName();
/**
* Get the IProxyMethod for the method from this beantype. It may be either a resolved method proxy (if already resolved) or
* it may be an ExpressionProxy if not yet resolved.
*
* @param expression
* @param methodName
* @param parameterTypes array of parameter types or <code>null</code> if no parameters.
* @return
*
* @since 1.1.0
*/
public IProxyMethod getMethodProxy(IExpression expression, String methodName, IProxyBeanType[] parameterTypes);
/**
* Get the IProxyMethod for the method from this beantype. It may be either a resolved method proxy (if already resolved) or
* it may be an ExpressionProxy if not yet resolved.
*
* @param expression
* @param methodName
* @param parameterTypes array of parameter types or <code>null</code> if no parameters.
* @return
*
* @since 1.1.0
*/
public IProxyMethod getMethodProxy(IExpression expression, String methodName, String[] parameterTypes);
/**
* Get the IProxyyField for the field from this beantype. It may be either a resolved field proxy (if already resolved) or
* it may be an ExpressionProxy if not yet resolved.
*
* @param expression
* @param fieldName
* @return
*
* @since 1.1.0
*/
public IProxyField getFieldProxy(IExpression expression, String fieldName);
}