32 lines
833 B
Plaintext
32 lines
833 B
Plaintext
|
package slangc.codegraph;
|
||
|
|
||
|
public abstract class DynamicContainer extends DynamicNamedElement implements AbstractContainer {
|
||
|
private DynamicNamedElement[] elements = new DynamicNamedElement[0];
|
||
|
|
||
|
public DynamicContainer() {
|
||
|
// TODO Auto-generated constructor stub
|
||
|
}
|
||
|
|
||
|
public int countNamedElements() {
|
||
|
return elements.length;
|
||
|
}
|
||
|
|
||
|
public DynamicNamedElement getNamedElement(int index) {
|
||
|
if (index < 0 || index > elements.length) {
|
||
|
return null;
|
||
|
} else {
|
||
|
return elements[index];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void appendNamedElement(DynamicNamedElement e) {
|
||
|
DynamicNamedElement[] nelem = new DynamicNamedElement[elements.length + 1];
|
||
|
for (int i = 0; i < elements.length; i++) {
|
||
|
nelem[i] = elements[i];
|
||
|
}
|
||
|
nelem[nelem.length - 1] = e;
|
||
|
elements = nelem;
|
||
|
e.setEnclosingContainer(this);
|
||
|
}
|
||
|
}
|