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

Reply via email to