package org.openswing.swing.lookup.client; import java.beans.*; /** * <p>Title: OpenSwing Framework</p> * <p>Description: Editor for invalid code property.</p> * @author Mauro Carniel * @version 1.0 */ public class InvalidCodeEditor extends PropertyEditorSupport { static private int[] actionValues = new int[]{ LookupController.ON_INVALID_CODE_CLEAR_CODE, LookupController.ON_INVALID_CODE_RESTORE_LAST_VALID_CODE, LookupController.ON_INVALID_CODE_RESTORE_FOCUS }; static private String[] actionDescriptions = new String[]{ "Clear code", "Restore last valid code", "Restore focus" }; /** * * @return String */ public String getJavaInitializationString() { switch( ((Number) getValue()).intValue()) { case LookupController.ON_INVALID_CODE_RESTORE_LAST_VALID_CODE: return "LookupController.ON_INVALID_CODE_RESTORE_LAST_VALID_CODE"; case LookupController.ON_INVALID_CODE_RESTORE_FOCUS: return "LookupController.ON_INVALID_CODE_RESTORE_FOCUS"; default: return "LookupController.ON_INVALID_CODE_CLEAR_CODE"; } } /** * * @return String[] */ public String[] getTags() { return actionDescriptions; } /** * * @param text String * @throws IllegalArgumentException */ public void setAsText(String text) throws IllegalArgumentException { for(int i=0;i<actionDescriptions.length;i++) if (actionDescriptions[i].equals(text)) setValue(new Integer(actionValues[i])); } /** * * @return String */ public String getAsText() { for(int i=0;i<actionValues.length;i++) if (actionValues[i]==((Integer)getValue()).intValue()) return actionDescriptions[i]; return null; } }