/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.atom.compiler.token; import java.util.List; import org.apache.commons.lang.StringUtils; import com.hundsun.ares.studio.atom.InternalParam; import com.hundsun.ares.studio.biz.Parameter; /**�ڲ�����(����)������ * @author liaogc * */ public class InternalParameterArrayHelper { /** * �жϲ����Ƿ����ڲ������е�������� * @param parameter * @param internalParameter * @return */ public static boolean isArrayParameter(Parameter parameter,List<InternalParam> internalParameter){ if(internalParameter.contains(parameter)){ String type = parameter.getType(); int index1 = StringUtils.indexOf(type, "["); int index2 = StringUtils.indexOf(type, "]"); if(index2>index1 && StringUtils.endsWith(type, "]")){ return true; } } return false; } public static Parameter getInternalParameter(String paramName,List<InternalParam> internalParameter){ for(Parameter parameter:internalParameter){ if(StringUtils.equals(parameter.getId(), paramName)){ return parameter; } } return null; } /** * ����ڲ�����ҵ���������� * @param parameter * @return */ public static String getArrayBusType(Parameter parameter){ String type = parameter.getType(); int index1 = StringUtils.indexOf(type, "["); int index2 = StringUtils.indexOf(type, "]"); if(index2>index1 && StringUtils.endsWith(type, "]")){ return StringUtils.substring(type, 0, index1); } return StringUtils.EMPTY; } /** * ���ҵ����������һά���� * @param parameter * @return */ public static String getArrayLength(Parameter parameter){ String type = parameter.getType(); int index1 = StringUtils.indexOf(type, "["); int index2 = StringUtils.indexOf(type, "]"); if(index2>index1 && StringUtils.endsWith(type, "]")){ return StringUtils.substring(type, index1+1, index2); } return StringUtils.EMPTY; } /** * ������ݵ���ʵ���� * @param type * @return */ public static String getArrayDataType(String type){ int index1 = StringUtils.indexOf(type, "["); int index2 = StringUtils.indexOf(type, "]"); if(index2>index1 && StringUtils.endsWith(type, "]")){ return StringUtils.substring(type, 0, index1); } return type; } }