package net.sourceforge.phpdt.internal.compiler.parser;
import java.util.ArrayList;
import java.util.List;
/**
* An abstract PHPSegment that can have children.
* @author khartlage, Matthieu Casanova
*/
public abstract class PHPSegmentWithChildren extends PHPSegment {
private ArrayList children;
/**
* Create a PHPSegment that can have children (class or functions).
* @param parent the parent object (it should be a php class)
* @param name the name of the function
* @param index where the function is in the file
*/
public PHPSegmentWithChildren(Object parent, String name, int index) {
super(parent, name, index);
children = new ArrayList();
}
public List getList( ) {
return children;
}
/**
* Appends the specified PHPSegment declaration
*
* @param o function declaration to be appended to this list.
* @return true (as per the general contract of Collection.add).
*/
public boolean add(PHPSegment o) {
return children.add(o);
}
/**
* Returns the PHPSegment declaration at the specified position in this list.
*
* @param index index of function declaration to return.
* @return the function declaration at the specified position in this list.
* @throws java.lang.IndexOutOfBoundsException if index is out of range (index
* < 0 || index >= size()).
*/
public PHPSegment get(int index) {
return (PHPSegment) children.get(index);
}
/**
* Returns the number of declarations in this list.
*
* @return the number of declarations in this list.
*/
public int size() {
return children.size();
}
}