/*
This file is part of jpcsp.
Jpcsp is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Jpcsp 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with Jpcsp. If not, see <http://www.gnu.org/licenses/>.
*/
package jpcsp.format.rco.vsmx.interpreter;
public class VSMXBoolean extends VSMXBaseObject {
public static final VSMXBoolean singletonTrue = new VSMXBoolean(true);
public static final VSMXBoolean singletonFalse = new VSMXBoolean(false);
private boolean value;
private VSMXBoolean(boolean value) {
super(null);
this.value = value;
}
public static void init(VSMXInterpreter interpreter) {
singletonTrue.setInterpreter(interpreter);
singletonFalse.setInterpreter(interpreter);
}
public static VSMXBoolean getValue(boolean value) {
return value ? singletonTrue : singletonFalse;
}
public static VSMXBoolean getValue(int value) {
return getValue(value != 0);
}
@Override
public float getFloatValue() {
return value ? 1f : 0f;
}
@Override
public int getIntValue() {
return value ? 1 : 0;
}
@Override
public boolean getBooleanValue() {
return value;
}
@Override
public String typeOf() {
return "boolean";
}
@Override
public String getClassName() {
return "Boolean";
}
@Override
public String toString() {
return value ? "true" : "false";
}
}