package org.osgl.util;
import org.osgl.$;
import java.util.Comparator;
class OddEvenElement {
private int v;
OddEvenElement(int v) {
this.v = v;
}
@Override
public int hashCode() {
return v;
}
public boolean isEven() {
return v % 2 == 0;
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (obj instanceof OddEvenElement) {
OddEvenElement that = (OddEvenElement)obj;
return that.v == this.v;
}
return false;
}
@Override
public String toString() {
return String.valueOf(v);
}
static class Comp implements Comparator<OddEvenElement> {
@Override
public int compare(OddEvenElement o1, OddEvenElement o2) {
if (o1.isEven()) {
return o2.isEven() ? 0 : -1;
} else {
return o2.isEven() ? 1 : 0;
}
}
@Override
public boolean equals(Object obj) {
return obj == this;
}
}
static enum F {
;
static final $.Transformer<Integer, OddEvenElement> OF_INT = new $.Transformer<Integer, OddEvenElement>() {
@Override
public OddEvenElement transform(Integer integer) {
return new OddEvenElement(integer);
}
};
}
}