diff options
author | Max Cai <maxtroy@google.com> | 2013-09-24 17:40:37 +0100 |
---|---|---|
committer | Max Cai <maxtroy@google.com> | 2013-09-25 19:44:27 +0100 |
commit | 26266cd4660ffe1f3d6015b715713ee654c5b936 (patch) | |
tree | 71d26d35515a268e6c81850d1dc33b7d7113886c /java/README.txt | |
parent | e74fe623e115237968a3de1143d7cdb4df710858 (diff) | |
download | external_protobuf-26266cd4660ffe1f3d6015b715713ee654c5b936.zip external_protobuf-26266cd4660ffe1f3d6015b715713ee654c5b936.tar.gz external_protobuf-26266cd4660ffe1f3d6015b715713ee654c5b936.tar.bz2 |
Implement enum_style=java option.
This javanano_out command line option creates a container interface
at the normal place where the enum constants would reside, per enum
definition. The java_multiple_files flag would now affect the file-
scope enums with the shells. If the flag is true then file-scope
container interfaces are created in their own files.
Change-Id: Id52258fcff8d3dee9db8f3d8022147a811bf3565
Diffstat (limited to 'java/README.txt')
-rw-r--r-- | java/README.txt | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/java/README.txt b/java/README.txt index 9728f48..e2e698e 100644 --- a/java/README.txt +++ b/java/README.txt @@ -93,8 +93,9 @@ Micro version The runtime and generated code for MICRO_RUNTIME is smaller because it does not include support for the descriptor and reflection, and enums are generated as integer constants in -the parent message or the file's outer class. Also, not -currently supported are packed repeated elements or +the parent message or the file's outer class, with no +protection against invalid values set to enum fields. Also, +not currently supported are packed repeated elements or extensions. To create a jar file for the runtime and run tests invoke @@ -409,12 +410,20 @@ Nano version ============================ Nano is even smaller than micro, especially in the number of generated -functions. It is like micro except: +functions. It is like micro: + +- No support for descriptors and reflection; +- Enum constants are integers with no protection against invalid + values set to enum fields. + +Except: - Setter/getter/hazzer/clearer functions are opt-in. - If not opted in, has state is not available. Serialization outputs - all fields not equal to their default. (See important implications + all fields not equal to their default. (See important implications below.) +- Enum constants can be generated into container interfaces bearing + the enum's name (so the referencing code is in Java style). - CodedInputStreamMicro is renamed to CodedInputByteBufferNano and can only take byte[] (not InputStream). - Similar rename from CodedOutputStreamMicro to |