Has anyone run into the problem where the generated java class for an enum has
a dollar sign for one enum value?
The schema {"type": "enum", "name": "ButtonTypeID", "symbols": ["default",
"keyboard"]} generates the following class:
public final class ButtonTypeID extends java.lang.Enum<ButtonTypeID> {
public static final ButtonTypeID default$;
public static final ButtonTypeID keyboard;
public static final org.apache.avro.Schema SCHEMA$;
public static ButtonTypeID[] values();
public static ButtonTypeID valueOf(java.lang.String);
public static org.apache.avro.Schema getClassSchema();
static {};
}
(this is what “javap ButtonTypeID.class” produces)
When I try to read my data that has the “default” value for ButtonTypeID, I get
the exception:
java.lang.IllegalArgumentException: No enum constant ButtonTypeID.default
at java.lang.Enum.valueOf(Enum.java:236)
at
org.apache.avro.specific.SpecificData.createEnum(SpecificData.java:106)
at
org.apache.avro.generic.GenericDatumReader.createEnum(GenericDatumReader.java:205)...Strangely,
everything was working fine a day before. Where is this dollar sign coming
from?Lukas