/*
* ModelBehaviorEditor.java
*
* Created on 6 ������ 2006 �., 14:30
*
*/
package datechooser.beans.editor;
import datechooser.beans.editor.descriptor.DescriptionManager;
import datechooser.model.multiple.MultyModelBehavior;
import java.beans.PropertyEditorSupport;
import static datechooser.beans.locale.LocaleUtils.getEditorLocaleString;
/**
* Model behavior editor.<br>
* �������� ��������� ������.
* @author Androsov Vadim
* @since 1.0
*/
public class ModelBehaviorEditor extends PropertyEditorSupport {
private String[] tagsText = {
getEditorLocaleString("Single"),
getEditorLocaleString("Period"),
getEditorLocaleString("Multy")};
private MultyModelBehavior[] tags = {MultyModelBehavior.SELECT_SINGLE,
MultyModelBehavior.SELECT_PERIOD, MultyModelBehavior.SELECT_ALL};
private int getValueIndex() {
if (getValue() == null) return -1;
MultyModelBehavior behavior = (MultyModelBehavior) getValue();
switch(behavior) {
case SELECT_SINGLE:
return 0;
case SELECT_PERIOD:
return 1;
case SELECT_ALL:
return 2;
}
return -1;
}
public String[] getTags() {
return tagsText;
}
public String getAsText() {
return tagsText[getValueIndex()];
}
public void setAsText(String text) throws java.lang.IllegalArgumentException {
for (int i = 0; i < tagsText.length; i++) {
if (tagsText[i].equals(text)) {
setValue(tags[i]);
return;
}
}
throw new IllegalArgumentException();
}
public String getJavaInitializationString() {
return DescriptionManager.describeJava(getValue(), MultyModelBehavior.class);
}
}