// Copyright MageLang Institute; Version $Id: //depot/main/src/edu/modules/Beans/magercises/StickFigurePropertyEditor/Solution/stickfigure/MoodEditor.java#5 $ package stickfigure; import java.beans.*; public class MoodEditor extends PropertyEditorSupport { protected int mood; public void setValue(Object o) { mood = ((Integer)o).intValue(); firePropertyChange(); } public Object getValue() { return new Integer(mood); } public String getAsText() { switch (mood) { case StickFigure.HAPPY: return StickFigure.HAPPY_STR; case StickFigure.SAD: return StickFigure.SAD_STR; case StickFigure.AMBIVALENT: return StickFigure.AMBIVALENT_STR; default: return StickFigure.HAPPY_STR; } } public void setAsText(String s) throws IllegalArgumentException { if (s.equalsIgnoreCase(StickFigure.HAPPY_STR)) mood = StickFigure.HAPPY; else if (s.equalsIgnoreCase(StickFigure.SAD_STR)) mood = StickFigure.SAD; else if (s.equalsIgnoreCase(StickFigure.AMBIVALENT_STR)) mood = StickFigure.AMBIVALENT; else mood = StickFigure.HAPPY; firePropertyChange(); } public String[] getTags() { return new String[] { StickFigure.HAPPY_STR, StickFigure.SAD_STR, StickFigure.AMBIVALENT_STR}; } }