void (Object component, String key, String value) { //System.out.println("attribute '" + key + "'='" + value + "'"); Object[] definition = getDefinition(component, key, null); key = (String)definition[1]; if ("string" == definition[0]) { setString(component, key, value, (String)definition[3]); } else if ("choice" == definition[0]) { String[] values = (String[])definition[3]; setChoice(component, key, value, values, values[0]); } else if ("boolean" == definition[0]) { if ("true".equals(value)) { if (definition[3] == Boolean.FALSE) { set(component, key, Boolean.TRUE); } } else if ("false".equals(value)) { if (definition[3] == Boolean.TRUE) { set(component, key, Boolean.FALSE); } } else { throw new IllegalArgumentException(value); } } else if ("integer" == definition[0]) { set(component, key, Integer.valueOf(value)); } else if ("icon" == definition[0]) { set(component, key, getIcon(value)); } else if ("method" == definition[0]) { try { //java set(component, key, getClass().getMethod(value, null)); //java } catch (Exception exc) { System.err.println(value); exc.printStackTrace(); } //java //midp setMethod(component, key, value); } //java> else if ("bean" == definition[0]) { try { set(component, key, (Component)Class.forName(value).newInstance()); } catch (Exception exc) { System.err.println(value); exc.printStackTrace(); } } //<java else { throw new IllegalArgumentException((String)definition[0]); } }