Closed GoogleCodeExporter closed 9 years ago
Example:
class Product {
public enum Condition{NEW, USED, BROKEN};
@Key("condition")
public Condition condition;
}
Original comment by birgitvs...@google.com
on 26 Aug 2010 at 6:06
Problem is that we would also need to define how it gets serialized/parsed.
For example if we wanted <condition>new</condition> to map to/from
condition.NEW.
Another problem is that if the server adds another supported value like
"excellent" it would break the parser.
The current best practice is to simply use String.
But I can also see the user-friendliness of supporting Java enums. Note that
it may be useful for both JSON and XML.
Original comment by yan...@google.com
on 26 Aug 2010 at 6:27
For seralization/parsing, we could possibly use the @Key annotation on enum
values, e.g.:
public enum Condition {
@Key("new") NEW,
@Key("used") USED,
@Key("broken") BROKEN
}
For the case where a value is added on the server, throwing an exception seems
like a reasonable behavior. Anyway, chances are that even if a String is used,
the application like only know how to handle the set of values specified, and
won't operate correctly if it encounters a new value. Also, application
writers will have a choice of enum vs. String and will be best able to make the
trade-off between usability and flexibility.
Original comment by yan...@google.com
on 20 Oct 2010 at 6:39
Original comment by yan...@google.com
on 12 Nov 2010 at 1:59
Original comment by yan...@google.com
on 8 Jan 2011 at 6:23
Original comment by yan...@google.com
on 15 Feb 2011 at 8:30
Original comment by yan...@google.com
on 11 Mar 2011 at 12:13
Original comment by yan...@google.com
on 21 Apr 2011 at 4:02
http://codereview.appspot.com/4437045
Original comment by yan...@google.com
on 27 Apr 2011 at 1:02
Original comment by yan...@google.com
on 2 May 2011 at 5:57
Original issue reported on code.google.com by
birgitvs...@google.com
on 26 Aug 2010 at 6:04