Значение перечисления, реализующее записываемый интерфейс Hadoop
Предположим, у меня есть перечисление:
public enum SomeEnumType implements Writable {
A(0), B(1);
private int value;
private SomeEnumType(int value) {
this.value = value;
}
@Override
public void write(final DataOutput dataOutput) throws IOException {
dataOutput.writeInt(this.value);
}
@Override
public void readFields(final DataInput dataInput) throws IOException {
this.value = dataInput.readInt();
}
}
Я хочу передать его экземпляр как часть другого экземпляра класса.
Равные не будут работать, потому что он не будет учитывать внутреннюю переменную перечисления, плюс все экземпляры перечисления фиксируются во время компиляции и не могут быть созданы в другом месте.
Означает ли это, что я не могу отправить перечисления по проводам в Hadoop или есть решение?