package lectures.arrays.collections_implementation;
import util.annotations.WebDocuments;
import util.annotations.StructurePattern;
import util.annotations.StructurePatternNames;
@StructurePattern(StructurePatternNames.VECTOR_PATTERN) @WebDocuments({"Lectures/ArraysCollectionsImplementation.pptx", "Lectures/ArraysCollectionsImplementation.pdf", "Videos/ArraysCollectionsImplementation.avi"})
public class AStringHistory implements StringHistory {
public static final int MAX_SIZE = 50;
protected String[] contents = new String[MAX_SIZE];
protected int size = 0;
public int size() {
return size;
}
public String elementAt (int index) {
return contents[index];
}
protected boolean isFull() {
return size == MAX_SIZE;
}
public void addElement(String element) {
if (isFull()) {
System.out.println("Cannot add item to a full history");
} else {
contents[size] = element;
size++;
}
}
public String toString() {
String retVal = "";
for (int i = 0; i < size; i++) {
String separator = (i == 0)?"":":";
retVal += separator + contents[i];
}
return super.toString();
}
public static void main (String[] args) {
StringHistory aStringHistory = new AStringHistory();
aStringHistory.addElement("James Dean");
System.out.println(aStringHistory.size());
System.out.println(aStringHistory);
aStringHistory.addElement("Joe Doe");
System.out.println (aStringHistory.size());
System.out.println(aStringHistory);
bus.uigen.ObjectEditor.edit(aStringHistory);
}
}