package sound;
import java.util.Vector;
public class PetriNodes {
private Vector v = new Vector();
public void add(PetriNode pn) {
v.addElement(pn);
}
public PetriNode getNext(PetriNode pn) {
return getNode(pn.getNext());
}
void buildPetriNet() {
for (int i = 0; i < (v.size() - 1); i++) {
PetriNode root = getNode(i);
root.addNext(i + 1);
for (int j = i + 1; j < (v.size() - 1); j++) {
PetriNode nextCandidate = getNode(j);
if (root.equals(nextCandidate))
root.addNext(j + 1);
}
}
}
public PetriNode addNoDupes(PetriNode pn) {
int i = getNode(pn);
if (i == -1) {
v.addElement(pn);
return pn;
}
PetriNode pn2 = getNode(i);
return pn2;
}
public int getNode(PetriNode pn) {
for (int i = 0; i < v.size(); i++) {
PetriNode pn2 = getNode(i);
if (pn2.equals(pn)) return i;
}
return -1;
}
public void init() {
buildPetriNet();
}
public PetriNode getNode(int i) {
if (i < v.size())
return (PetriNode) v.elementAt(i);
return (PetriNode) v.elementAt(0);
}
public void print() {
System.out.println(toString());
}
public String toString() {
String s = "";
for (int i = 0; i < v.size(); i++)
s = s + getNode(i).toString() + "\n";
return s + "\n";
}
public int getSize() {
return v.size();
}
}