package uiBeans;
import javax.servlet.http.*;
public class ComboBox {
private String valittu = "";
private String nimi = "";
private HttpSession session = null;
private int lkm = 0;
private static final int MAXLKM = 20;
private String alkiot[];
public ComboBox(String nimi) {
this.nimi = nimi;
lkm = 0;
alkiot = new String[MAXLKM];
}
public ComboBox(String nimi, HttpSession session) {
this(nimi);
this.session = session;
setValittu(session);
}
public ComboBox(String nimi,String alkiot[]) {
this(nimi,alkiot,null);
}
public ComboBox(String nimi,String alkiot[], HttpSession session) {
this.session = session;
this.nimi = nimi;
this.alkiot = alkiot;
lkm = alkiot.length;
if ( lkm > 0 ) setValittu(alkiot[0]);
setValittu(session);
}
public void setValittu(String valittu) {
if ( valittu == null ) return;
this.valittu = valittu;
save();
}
public String getValittu() {
return valittu;
}
public void setValittu(HttpServletRequest request) {
String valinta = request.getParameter(nimi);
if (valinta == null) return;
setValittu(valinta);
}
public void setValittu(HttpSession session) {
String text = null;
if ( session != null ) text = (String)session.getAttribute(nimi);
if (text == null) return;
setValittu(text);
}
public void save(HttpSession session) {
if ( session == null ) return;
session.setAttribute(nimi,getValittu());
}
public void save() {
save(session);
}
public void lisaa(String valinta) {
if ( lkm >= alkiot.length ) return;
alkiot[lkm++] = valinta;
if ( lkm == 1 && valittu.equals("") ) setValittu(alkiot[0]);
}
public String asHTML() {
StringBuffer sb = new StringBuffer("");
return sb.toString();
}
public String toString() {
return asHTML();
}
public void setSelectedIndex(int i) {
if ( i < 0 ) i = 0;
if ( lkm <= i ) i = lkm -1;
if ( i < 0 ) return;
setValittu(alkiot[i]);
}
public int getSelectedIndex() {
for (int i=0; i