Wartość wyliczeniowa implementująca interfejs zapisu do Hadoop
Załóżmy, że mam wyliczenie:
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();
}
}
Chcę przekazać jego wystąpienie jako część innej instancji klasy.
Równiki nie będą działać, ponieważ nie będą uwzględniać wewnętrznej zmiennej wyliczenia, a wszystkie instancje wyliczeniowe są ustalane w czasie kompilacji i nie można ich utworzyć w innym miejscu.
Czy to znaczy, że nie mogłem wysłać enums przez przewód w Hadoop lub nie ma rozwiązania?