/*
* $Id$
*
* Copyright (c) 2000-2012 by Rodney Kinney, Brent Easton
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License (LGPL) as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, copies are available
* at http://www.opensource.org.
*/
package VASSAL.configure;
/**
* A Configurer for Integer values
*/
public class IntConfigurer extends StringConfigurer {
public IntConfigurer(String key, String name) {
this(key, name, 0);
}
public IntConfigurer(String key, String name, Integer val) {
super(key, name, 4);
if (val != null) {
setValue(val);
}
}
public void setValue(String s) {
Integer i = null;
try {
i = Integer.valueOf(s);
}
catch (NumberFormatException e) {
i = null;
}
if (i != null) {
setValue(i);
}
}
public int getIntValue(int defaultValue) {
if (getValue() instanceof Integer) {
return ((Integer)getValue()).intValue();
}
else {
return defaultValue;
}
}
public void setValue(Object o) {
if (!noUpdate && nameField != null && o != null) {
nameField.setText(o.toString());
}
super.setValue(o);
}
public String getValueString() {
return value == null ? null : value.toString();
}
}