/*******************************************************************************
* Copyright (c) 2007, 2015 Red Hat, Inc.
* 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:
* Red Hat Incorporated - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.internal.autotools.ui.text.hover;
import java.util.ArrayList;
import java.util.List;
public class AutoconfPrototype {
protected String name;
protected int numPrototypes;
protected List<Integer> minParms;
protected List<Integer> maxParms;
protected List<List<String>> parmList;
public AutoconfPrototype() {
numPrototypes = 0;
minParms = new ArrayList<>();
maxParms = new ArrayList<>();
parmList = new ArrayList<>();
}
public String getName() {
return name;
}
public void setName(String newName) {
name = newName;
}
public int getNumPrototypes() {
return numPrototypes;
}
public void setNumPrototypes(int num) {
numPrototypes = num;
}
public int getMinParms(int prototypeNum) {
return minParms.get(prototypeNum).intValue();
}
public void setMinParms(int prototypeNum, int value) {
minParms.add(prototypeNum, Integer.valueOf(value));
}
public int getMaxParms(int prototypeNum) {
return maxParms.get(prototypeNum).intValue();
}
public void setMaxParms(int prototypeNum, int value) {
maxParms.add(prototypeNum, Integer.valueOf(value));
}
public String getParmName(int prototypeNum, int parmNum) {
List<String> parms = parmList.get(prototypeNum);
return parms.get(parmNum);
}
// This function assumes that parms will be added in order starting
// with lowest prototype first.
public void setParmName(int prototypeNum, int parmNum, String value) {
List<String> parms;
if (parmList.size() == prototypeNum) {
parms = new ArrayList<>();
parmList.add(parms);
}
else
parms = parmList.get(prototypeNum);
if (parms.size() == parmNum)
parms.add(value);
else
parms.set(parmNum, value);
}
}