/*
* ModelBehaviorEditor.java
*
* Created on 6 ������ 2006 �., 14:30
*
*/
package datechooser.beans.editor;
import datechooser.beans.editor.descriptor.DescriptionManager;
import datechooser.view.WeekDaysStyle;
import java.beans.PropertyEditorSupport;
import static datechooser.beans.locale.LocaleUtils.getEditorLocaleString;
/**
* Editor for weekdays output format.<br>
* �������� ������� ������ �������� ���� ������.
* @author Androsov Vadim
* @since 1.0
*/
public class WeekDaysStyleEditor extends PropertyEditorSupport {
private String[] tagsText = {
getEditorLocaleString("WeekStyle_Full"),
getEditorLocaleString("WeekStyle_Normal"),
getEditorLocaleString("WeekStyle_Short")};
private WeekDaysStyle[] tags = {WeekDaysStyle.FULL,
WeekDaysStyle.NORMAL, WeekDaysStyle.SHORT};
private int getValueIndex() {
if (getValue() == null) return -1;
WeekDaysStyle style = (WeekDaysStyle) getValue();
switch(style) {
case FULL:
return 0;
case NORMAL:
return 1;
case SHORT:
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(), WeekDaysStyle.class);
}
}