|  | @@ -68,18 +68,20 @@ running unit tests.
 | 
	
		
			
				|  |  |  Nano version
 | 
	
		
			
				|  |  |  ============================
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Nano is a special code generator and runtime library designed specially
 | 
	
		
			
				|  |  | -for Android, and is very resource-friendly in both the amount of code
 | 
	
		
			
				|  |  | -and the runtime overhead. An overview of Nano features:
 | 
	
		
			
				|  |  | +JavaNano is a special code generator and runtime library designed specially for
 | 
	
		
			
				|  |  | +resource-restricted systems, like Android. It is very resource-friendly in both
 | 
	
		
			
				|  |  | +the amount of code and the runtime overhead. Here is an overview of JavaNano
 | 
	
		
			
				|  |  | +features compared with the official Java protobuf:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  - No descriptors or message builders.
 | 
	
		
			
				|  |  |  - All messages are mutable; fields are public Java fields.
 | 
	
		
			
				|  |  |  - For optional fields only, encapsulation behind setter/getter/hazzer/
 | 
	
		
			
				|  |  |    clearer functions is opt-in, which provide proper 'has' state support.
 | 
	
		
			
				|  |  | -- If not opted in, has state is not available. Serialization outputs
 | 
	
		
			
				|  |  | -  all fields not equal to their defaults (see important implications
 | 
	
		
			
				|  |  | -  below).
 | 
	
		
			
				|  |  | -- Required fields are always serialized.
 | 
	
		
			
				|  |  | +- For proto2, if not opted in, has state (field presence) is not available.
 | 
	
		
			
				|  |  | +  Serialization outputs all fields not equal to their defaults
 | 
	
		
			
				|  |  | +  (see important implications below).
 | 
	
		
			
				|  |  | +  The behavior is consistent with proto3 semantics.
 | 
	
		
			
				|  |  | +- Required fields (proto2 only) are always serialized.
 | 
	
		
			
				|  |  |  - Enum constants are integers; protection against invalid values only
 | 
	
		
			
				|  |  |    when parsing from the wire.
 | 
	
		
			
				|  |  |  - Enum constants can be generated into container interfaces bearing
 | 
	
	
		
			
				|  | @@ -88,8 +90,8 @@ and the runtime overhead. An overview of Nano features:
 | 
	
		
			
				|  |  |  - Similarly CodedOutputByteBufferNano can only write to byte[].
 | 
	
		
			
				|  |  |  - Repeated fields are in arrays, not ArrayList or Vector. Null array
 | 
	
		
			
				|  |  |    elements are allowed and silently ignored.
 | 
	
		
			
				|  |  | -- Full support of serializing/deserializing repeated packed fields.
 | 
	
		
			
				|  |  | -- Support of extensions.
 | 
	
		
			
				|  |  | +- Full support for serializing/deserializing repeated packed fields.
 | 
	
		
			
				|  |  | +- Support  extensions (in proto2).
 | 
	
		
			
				|  |  |  - Unset messages/groups are null, not an immutable empty default
 | 
	
		
			
				|  |  |    instance.
 | 
	
		
			
				|  |  |  - toByteArray(...) and mergeFrom(...) are now static functions of
 | 
	
	
		
			
				|  | @@ -200,7 +202,7 @@ optional_field_style={default,accessors,reftypes} (default: default)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    In the default style, optional fields translate into public mutable
 | 
	
		
			
				|  |  |    Java fields, and the serialization process is as discussed in the
 | 
	
		
			
				|  |  | -  "IMPORTANT" section above. 
 | 
	
		
			
				|  |  | +  "IMPORTANT" section above.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    * accessors *
 | 
	
		
			
				|  |  |  
 |