/**
* Author: Georg Hofferek <georg.hofferek@iaik.tugraz.at>
*/
package at.iaik.suraq.util;
/**
*
* A class for passing (mutable) integers by reference.
*
* @author Georg Hofferek <georg.hofferek@iaik.tugraz.at>
*
*/
public class MutableInteger {
/**
* The actual value of this instance.
*/
private int value;
public MutableInteger(int value) {
this.value = value;
}
public MutableInteger(Integer value) {
this.value = value.intValue();
}
public MutableInteger(MutableInteger value) {
this.value = value.value;
}
public int intValue() {
return value;
}
public Integer toInteger() {
return value;
}
public void setValue(int newValue) {
value = newValue;
}
public void add(int value) {
this.value += value;
}
public void subtract(int value) {
this.value -= value;
}
/**
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
return value;
}
/**
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (!(obj instanceof MutableInteger))
return false;
return this.value == ((MutableInteger) obj).value;
}
/**
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return Integer.toString(value);
}
}