mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-13 11:16:05 +00:00
move mutable utils
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package com.dfsek.terra.api.util.mutable;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
|
||||
public class MutableBoolean implements MutablePrimitive<Boolean> {
|
||||
private boolean value;
|
||||
|
||||
public MutableBoolean() {
|
||||
this.value = false;
|
||||
}
|
||||
|
||||
public MutableBoolean(boolean value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean get() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(Boolean value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public boolean invert() {
|
||||
value = !value;
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(@NotNull Boolean o) {
|
||||
return Boolean.compare(value, o);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.dfsek.terra.api.util.mutable;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
|
||||
public class MutableDouble extends MutableNumber<Double> {
|
||||
private static final long serialVersionUID = -2218110876763640053L;
|
||||
|
||||
public MutableDouble(Double value) {
|
||||
super(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void increment() {
|
||||
add(1d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decrement() {
|
||||
subtract(1d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(Double add) {
|
||||
value += add;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void multiply(Double mul) {
|
||||
value *= mul;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void subtract(Double sub) {
|
||||
value -= sub;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void divide(Double divide) {
|
||||
value /= divide;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(@NotNull Double o) {
|
||||
return Double.compare(value, o);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.dfsek.terra.api.util.mutable;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
|
||||
public class MutableInteger extends MutableNumber<Integer> {
|
||||
private static final long serialVersionUID = -4427935901819632745L;
|
||||
|
||||
public MutableInteger(Integer value) {
|
||||
super(value);
|
||||
}
|
||||
|
||||
public void increment() {
|
||||
add(1);
|
||||
}
|
||||
|
||||
public void decrement() {
|
||||
subtract(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(Integer add) {
|
||||
value += add;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void multiply(Integer mul) {
|
||||
value *= mul;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void subtract(Integer sub) {
|
||||
value -= sub;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void divide(Integer divide) {
|
||||
value /= divide;
|
||||
}
|
||||
|
||||
public void add(int add) {
|
||||
value += add;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(@NotNull Integer o) {
|
||||
return Integer.compare(value, o);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.dfsek.terra.api.util.mutable;
|
||||
|
||||
public abstract class MutableNumber<T extends Number> extends Number implements MutablePrimitive<T> {
|
||||
|
||||
private static final long serialVersionUID = 8619508342781664393L;
|
||||
protected T value;
|
||||
|
||||
public MutableNumber(T value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public abstract void increment();
|
||||
|
||||
public abstract void decrement();
|
||||
|
||||
public abstract void add(T add);
|
||||
|
||||
public abstract void multiply(T mul);
|
||||
|
||||
public abstract void subtract(T sub);
|
||||
|
||||
public abstract void divide(T divide);
|
||||
|
||||
@Override
|
||||
public T get() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(T value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int intValue() {
|
||||
return value.intValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long longValue() {
|
||||
return value.longValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float floatValue() {
|
||||
return value.floatValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double doubleValue() {
|
||||
return value.doubleValue();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.dfsek.terra.api.util.mutable;
|
||||
|
||||
public interface MutablePrimitive<T> extends Comparable<T> {
|
||||
T get();
|
||||
|
||||
void set(T value);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
/**
|
||||
* Mutable objects containing primitive types.
|
||||
*/
|
||||
|
||||
package com.dfsek.terra.api.util.mutable;
|
||||
Reference in New Issue
Block a user