avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lukas Steiblys" <lu...@doubledutch.me>
Subject Generated enum dollar sign in front of a symbol.
Date Wed, 08 Oct 2014 19:06:26 GMT
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
View raw message