/**
* <p>Copyright: Copyright (c) 2013</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.logic.compiler.util;
import java.util.ArrayList;
import java.util.List;
import com.hundsun.ares.studio.atom.AtomFunction;
import com.hundsun.ares.studio.biz.Parameter;
import com.hundsun.ares.studio.biz.util.BizInterfaceParameterUtil;
import com.hundsun.ares.studio.core.IARESProject;
/**
* ҵ�������������
* @author liaogc
*
*/
public class LogicCompilerUtil {
/**
* �жϸ����IJ������Ƿ���ҵ���������������
* @param logicResource ҵ����
* @param parameterName ������
* @return
*/
public static boolean isParameterINInputParameterByName(AtomFunction logicResource, String parameterName,IARESProject project) {
return BizInterfaceParameterUtil.isInputParameter(logicResource, parameterName,project);
}
/**
* �жϸ����IJ������Ƿ���ҵ���������������
* @param logicResource ҵ����
* @param parameterName ������
* @return
*/
public static boolean isParameterINOutputParameterByName(AtomFunction logicResource, String parameterName,IARESProject project) {
return BizInterfaceParameterUtil.isOutputParameter(logicResource, parameterName,project);
}
/**
* �жϸ����IJ������Ƿ���ҵ�������������������
* @param procedure ҵ����
* @param parameterName ������
* @return
*/
public static boolean isParameterINInputAndOutputParameterByName(AtomFunction logicResource, String parameterName,IARESProject project) {
return isParameterINInputParameterByName(logicResource, parameterName,project) ||
isParameterINOutputParameterByName(logicResource, parameterName,project);
}
/**
* �жϸ����IJ������Ƿ���ҵ�������ڲ�������
* @param procedure ҵ����
* @param parameterName ������
* @return
*/
public static boolean isParameterINInternalVariablesByName(AtomFunction logicResource, String parameterName) {
List<String> names = new ArrayList<String>();
for (Parameter para : logicResource.getInternalVariables()) {
names.add(para.getId());
}
return names.contains(parameterName);
}
/**
* �жϸ����IJ������Ƿ���ҵ��������������Լ��ڲ�������
* @param procedure ҵ����
* @param parameterName ������
* @return
*/
public static boolean isParameterINLogicParameterByName(AtomFunction logicResource, String parameterName,IARESProject project) {
return isParameterINInputParameterByName(logicResource, parameterName,project) ||
isParameterINOutputParameterByName(logicResource, parameterName,project) ||
isParameterINInternalVariablesByName(logicResource, parameterName);
}
}