package local.ua;
import org.zoolu.tools.Configure;
import java.util.Vector;
import java.io.*;
/** Classs StringList handles a vector of Strings.
* It can be used to load, manage, and save string values.
*/
public final class StringList extends Configure
{
/** The list */
Vector list;
/** File name */
String file_name;
/** Costructs a new StringList from the specified <i>file</i> */
public StringList(String file)
{ list=new Vector();
file_name=file;
load();
}
/** Loads list */
public void load()
{ loadFile(file_name);
}
/** Saves list */
public void save()
{ saveFile(file_name);
}
/** Gets elements */
public Vector getElements()
{ return list;
}
/** Gets the element at positon i */
public String elementAt(int i)
{ return (String)list.elementAt(i);
}
/** Inserts element at positon i */
public void insertElementAt(String elem, int i)
{ list.insertElementAt(elem,i);
}
/** Removes element at positon i */
public void removeElementAt(int i)
{ list.removeElementAt(i);
}
/** Adds element */
public void addElement(String elem)
{ list.addElement(elem);
}
/** Whether the element is present */
public boolean contains(String elem)
{ return (indexOf(elem)>=0);
}
/** Index of the element (if present) */
public int indexOf(String elem)
{ return list.indexOf(elem);
}
/** Whether an element that containg <i>subelem</i>*/
/*public boolean containsSubElement(String subelem)
{ return indexOfSubElement(subelem)>=0;
}*/
/** Whether an element that containg <i>subelem</i>*/
/*public int indexOfSubElement(String subelem)
{ for (int i=0; i<list.size(); i++)
{ String elem=(String)list.elementAt(i);
int index=elem.indexOf(subelem);
if (index>=0 && index<elem.length()) return i;
}
return -1;
}*/
/** Parses a single line (loaded from the config file) */
protected void parseLine(String line)
{ list.addElement(line);
}
/** Converts the entire object into lines (to be saved into the config file) */
protected String toLines()
{ String str="";
for (int i=0; i<list.size(); i++)
{ String elem=(String)list.elementAt(i);
str+=elem+"\n";
}
return str;
}
}