
ext.plantuml.com.ctreber.aclib.gui.MOInteger Maven / Gradle / Ivy
package ext.plantuml.com.ctreber.aclib.gui;
/**
*
*
* © 2002 Christian Treber, [email protected]
* @author Christian Treber, [email protected]
*
*/
public class MOInteger extends MonitoredObject
{
private int fInteger;
private boolean fCheckRange = false;
private int fMin;
private int fMax;
public MOInteger()
{
}
public MOInteger(int pInteger)
{
fInteger = pInteger;
}
public MOInteger(int pInteger, int pMin, int pMax)
{
fMin = pMin;
fMax = pMax;
fCheckRange = true;
set(pInteger);
}
public void set(int pInteger)
{
if(!checkRange(pInteger))
{
throw new IllegalArgumentException("Argument '" + pInteger +
"' out of range [" + niceFormat(fMin) + "; " + niceFormat(fMax) + "]");
}
fInteger = pInteger;
fireValueChanged();
}
private static String niceFormat(int pInteger)
{
if(pInteger == Integer.MAX_VALUE)
{
return "Infinity";
}
if(pInteger == Integer.MIN_VALUE)
{
return "-Infinity";
}
return Integer.toString(pInteger);
}
public int get()
{
return fInteger;
}
private boolean checkRange(int pInteger)
{
return !fCheckRange || (fMin <= pInteger) && (pInteger <= fMax);
}
public boolean checkRange()
{
return checkRange(fInteger);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy