Adding another enum and field usage just to see what it looks like
This commit is contained in:
parent
af3b05be3d
commit
438aa1db17
@ -27,6 +27,7 @@ const ::google::protobuf::EnumDescriptor* Person_PhoneType_descriptor_ = NULL;
|
|||||||
const ::google::protobuf::Descriptor* AddressBook_descriptor_ = NULL;
|
const ::google::protobuf::Descriptor* AddressBook_descriptor_ = NULL;
|
||||||
const ::google::protobuf::internal::GeneratedMessageReflection*
|
const ::google::protobuf::internal::GeneratedMessageReflection*
|
||||||
AddressBook_reflection_ = NULL;
|
AddressBook_reflection_ = NULL;
|
||||||
|
const ::google::protobuf::EnumDescriptor* Gender_descriptor_ = NULL;
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@ -38,10 +39,11 @@ void protobuf_AssignDesc_addressbook_2eproto() {
|
|||||||
"addressbook.proto");
|
"addressbook.proto");
|
||||||
GOOGLE_CHECK(file != NULL);
|
GOOGLE_CHECK(file != NULL);
|
||||||
Person_descriptor_ = file->message_type(0);
|
Person_descriptor_ = file->message_type(0);
|
||||||
static const int Person_offsets_[4] = {
|
static const int Person_offsets_[5] = {
|
||||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, name_),
|
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, name_),
|
||||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, id_),
|
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, id_),
|
||||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, email_),
|
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, email_),
|
||||||
|
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, type_),
|
||||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, phone_),
|
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Person, phone_),
|
||||||
};
|
};
|
||||||
Person_reflection_ =
|
Person_reflection_ =
|
||||||
@ -87,6 +89,7 @@ void protobuf_AssignDesc_addressbook_2eproto() {
|
|||||||
::google::protobuf::DescriptorPool::generated_pool(),
|
::google::protobuf::DescriptorPool::generated_pool(),
|
||||||
::google::protobuf::MessageFactory::generated_factory(),
|
::google::protobuf::MessageFactory::generated_factory(),
|
||||||
sizeof(AddressBook));
|
sizeof(AddressBook));
|
||||||
|
Gender_descriptor_ = file->enum_type(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@ -125,14 +128,16 @@ void protobuf_AddDesc_addressbook_2eproto() {
|
|||||||
GOOGLE_PROTOBUF_VERIFY_VERSION;
|
GOOGLE_PROTOBUF_VERIFY_VERSION;
|
||||||
|
|
||||||
::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
|
::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
|
||||||
"\n\021addressbook.proto\022\010tutorial\"\332\001\n\006Person"
|
"\n\021addressbook.proto\022\010tutorial\"\200\002\n\006Person"
|
||||||
"\022\014\n\004name\030\001 \002(\t\022\n\n\002id\030\002 \002(\005\022\r\n\005email\030\003 \001("
|
"\022\014\n\004name\030\001 \002(\t\022\n\n\002id\030\002 \002(\005\022\r\n\005email\030\003 \001("
|
||||||
"\t\022+\n\005phone\030\004 \003(\0132\034.tutorial.Person.Phone"
|
"\t\022$\n\004type\030\004 \001(\0162\020.tutorial.Gender:\004NONE\022"
|
||||||
"Number\032M\n\013PhoneNumber\022\016\n\006number\030\001 \002(\t\022.\n"
|
"+\n\005phone\030\005 \003(\0132\034.tutorial.Person.PhoneNu"
|
||||||
"\004type\030\002 \001(\0162\032.tutorial.Person.PhoneType:"
|
"mber\032M\n\013PhoneNumber\022\016\n\006number\030\001 \002(\t\022.\n\004t"
|
||||||
"\004HOME\"+\n\tPhoneType\022\n\n\006MOBILE\020\000\022\010\n\004HOME\020\001"
|
"ype\030\002 \001(\0162\032.tutorial.Person.PhoneType:\004H"
|
||||||
"\022\010\n\004WORK\020\002\"/\n\013AddressBook\022 \n\006person\030\001 \003("
|
"OME\"+\n\tPhoneType\022\n\n\006MOBILE\020\000\022\010\n\004HOME\020\001\022\010"
|
||||||
"\0132\020.tutorial.Person", 299);
|
"\n\004WORK\020\002\"/\n\013AddressBook\022 \n\006person\030\001 \003(\0132"
|
||||||
|
"\020.tutorial.Person*3\n\006Gender\022\010\n\004NONE\020\000\022\010\n"
|
||||||
|
"\004MALE\020\001\022\n\n\006FEMALE\020\002\022\t\n\005OTHER\020\003", 390);
|
||||||
::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
|
::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
|
||||||
"addressbook.proto", &protobuf_RegisterTypes);
|
"addressbook.proto", &protobuf_RegisterTypes);
|
||||||
Person::default_instance_ = new Person();
|
Person::default_instance_ = new Person();
|
||||||
@ -151,6 +156,22 @@ struct StaticDescriptorInitializer_addressbook_2eproto {
|
|||||||
}
|
}
|
||||||
} static_descriptor_initializer_addressbook_2eproto_;
|
} static_descriptor_initializer_addressbook_2eproto_;
|
||||||
|
|
||||||
|
const ::google::protobuf::EnumDescriptor* Gender_descriptor() {
|
||||||
|
protobuf_AssignDescriptorsOnce();
|
||||||
|
return Gender_descriptor_;
|
||||||
|
}
|
||||||
|
bool Gender_IsValid(int value) {
|
||||||
|
switch(value) {
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ===================================================================
|
// ===================================================================
|
||||||
|
|
||||||
@ -452,6 +473,7 @@ void Person_PhoneNumber::Swap(Person_PhoneNumber* other) {
|
|||||||
const int Person::kNameFieldNumber;
|
const int Person::kNameFieldNumber;
|
||||||
const int Person::kIdFieldNumber;
|
const int Person::kIdFieldNumber;
|
||||||
const int Person::kEmailFieldNumber;
|
const int Person::kEmailFieldNumber;
|
||||||
|
const int Person::kTypeFieldNumber;
|
||||||
const int Person::kPhoneFieldNumber;
|
const int Person::kPhoneFieldNumber;
|
||||||
#endif // !_MSC_VER
|
#endif // !_MSC_VER
|
||||||
|
|
||||||
@ -474,6 +496,7 @@ void Person::SharedCtor() {
|
|||||||
name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
|
name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
|
||||||
id_ = 0;
|
id_ = 0;
|
||||||
email_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
|
email_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
|
||||||
|
type_ = 0;
|
||||||
::memset(_has_bits_, 0, sizeof(_has_bits_));
|
::memset(_has_bits_, 0, sizeof(_has_bits_));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -525,6 +548,7 @@ void Person::Clear() {
|
|||||||
email_->clear();
|
email_->clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
type_ = 0;
|
||||||
}
|
}
|
||||||
phone_.Clear();
|
phone_.Clear();
|
||||||
::memset(_has_bits_, 0, sizeof(_has_bits_));
|
::memset(_has_bits_, 0, sizeof(_has_bits_));
|
||||||
@ -582,12 +606,33 @@ bool Person::MergePartialFromCodedStream(
|
|||||||
} else {
|
} else {
|
||||||
goto handle_uninterpreted;
|
goto handle_uninterpreted;
|
||||||
}
|
}
|
||||||
if (input->ExpectTag(34)) goto parse_phone;
|
if (input->ExpectTag(32)) goto parse_type;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
case 4: {
|
case 4: {
|
||||||
|
if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
|
||||||
|
::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
|
||||||
|
parse_type:
|
||||||
|
int value;
|
||||||
|
DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
|
||||||
|
int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
|
||||||
|
input, &value)));
|
||||||
|
if (tutorial::Gender_IsValid(value)) {
|
||||||
|
set_type(static_cast< tutorial::Gender >(value));
|
||||||
|
} else {
|
||||||
|
mutable_unknown_fields()->AddVarint(4, value);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
goto handle_uninterpreted;
|
||||||
|
}
|
||||||
|
if (input->ExpectTag(42)) goto parse_phone;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
|
case 5: {
|
||||||
if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
|
if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
|
||||||
::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
|
::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
|
||||||
parse_phone:
|
parse_phone:
|
||||||
@ -596,7 +641,7 @@ bool Person::MergePartialFromCodedStream(
|
|||||||
} else {
|
} else {
|
||||||
goto handle_uninterpreted;
|
goto handle_uninterpreted;
|
||||||
}
|
}
|
||||||
if (input->ExpectTag(34)) goto parse_phone;
|
if (input->ExpectTag(42)) goto parse_phone;
|
||||||
if (input->ExpectAtEnd()) return true;
|
if (input->ExpectAtEnd()) return true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -642,10 +687,16 @@ void Person::SerializeWithCachedSizes(
|
|||||||
3, this->email(), output);
|
3, this->email(), output);
|
||||||
}
|
}
|
||||||
|
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
|
if (has_type()) {
|
||||||
|
::google::protobuf::internal::WireFormatLite::WriteEnum(
|
||||||
|
4, this->type(), output);
|
||||||
|
}
|
||||||
|
|
||||||
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
for (int i = 0; i < this->phone_size(); i++) {
|
for (int i = 0; i < this->phone_size(); i++) {
|
||||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||||
4, this->phone(i), output);
|
5, this->phone(i), output);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!unknown_fields().empty()) {
|
if (!unknown_fields().empty()) {
|
||||||
@ -681,11 +732,17 @@ void Person::SerializeWithCachedSizes(
|
|||||||
3, this->email(), target);
|
3, this->email(), target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
|
if (has_type()) {
|
||||||
|
target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
|
||||||
|
4, this->type(), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
for (int i = 0; i < this->phone_size(); i++) {
|
for (int i = 0; i < this->phone_size(); i++) {
|
||||||
target = ::google::protobuf::internal::WireFormatLite::
|
target = ::google::protobuf::internal::WireFormatLite::
|
||||||
WriteMessageNoVirtualToArray(
|
WriteMessageNoVirtualToArray(
|
||||||
4, this->phone(i), target);
|
5, this->phone(i), target);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!unknown_fields().empty()) {
|
if (!unknown_fields().empty()) {
|
||||||
@ -720,8 +777,14 @@ int Person::ByteSize() const {
|
|||||||
this->email());
|
this->email());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
|
if (has_type()) {
|
||||||
|
total_size += 1 +
|
||||||
|
::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
total_size += 1 * this->phone_size();
|
total_size += 1 * this->phone_size();
|
||||||
for (int i = 0; i < this->phone_size(); i++) {
|
for (int i = 0; i < this->phone_size(); i++) {
|
||||||
total_size +=
|
total_size +=
|
||||||
@ -765,6 +828,9 @@ void Person::MergeFrom(const Person& from) {
|
|||||||
if (from.has_email()) {
|
if (from.has_email()) {
|
||||||
set_email(from.email());
|
set_email(from.email());
|
||||||
}
|
}
|
||||||
|
if (from.has_type()) {
|
||||||
|
set_type(from.type());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
mutable_unknown_fields()->MergeFrom(from.unknown_fields());
|
mutable_unknown_fields()->MergeFrom(from.unknown_fields());
|
||||||
}
|
}
|
||||||
@ -795,6 +861,7 @@ void Person::Swap(Person* other) {
|
|||||||
std::swap(name_, other->name_);
|
std::swap(name_, other->name_);
|
||||||
std::swap(id_, other->id_);
|
std::swap(id_, other->id_);
|
||||||
std::swap(email_, other->email_);
|
std::swap(email_, other->email_);
|
||||||
|
std::swap(type_, other->type_);
|
||||||
phone_.Swap(&other->phone_);
|
phone_.Swap(&other->phone_);
|
||||||
std::swap(_has_bits_[0], other->_has_bits_[0]);
|
std::swap(_has_bits_[0], other->_has_bits_[0]);
|
||||||
_unknown_fields_.Swap(&other->_unknown_fields_);
|
_unknown_fields_.Swap(&other->_unknown_fields_);
|
||||||
|
@ -56,6 +56,27 @@ inline bool Person_PhoneType_Parse(
|
|||||||
return ::google::protobuf::internal::ParseNamedEnum<Person_PhoneType>(
|
return ::google::protobuf::internal::ParseNamedEnum<Person_PhoneType>(
|
||||||
Person_PhoneType_descriptor(), name, value);
|
Person_PhoneType_descriptor(), name, value);
|
||||||
}
|
}
|
||||||
|
enum Gender {
|
||||||
|
NONE = 0,
|
||||||
|
MALE = 1,
|
||||||
|
FEMALE = 2,
|
||||||
|
OTHER = 3
|
||||||
|
};
|
||||||
|
bool Gender_IsValid(int value);
|
||||||
|
const Gender Gender_MIN = NONE;
|
||||||
|
const Gender Gender_MAX = OTHER;
|
||||||
|
const int Gender_ARRAYSIZE = Gender_MAX + 1;
|
||||||
|
|
||||||
|
const ::google::protobuf::EnumDescriptor* Gender_descriptor();
|
||||||
|
inline const ::std::string& Gender_Name(Gender value) {
|
||||||
|
return ::google::protobuf::internal::NameOfEnum(
|
||||||
|
Gender_descriptor(), value);
|
||||||
|
}
|
||||||
|
inline bool Gender_Parse(
|
||||||
|
const ::std::string& name, Gender* value) {
|
||||||
|
return ::google::protobuf::internal::ParseNamedEnum<Gender>(
|
||||||
|
Gender_descriptor(), name, value);
|
||||||
|
}
|
||||||
// ===================================================================
|
// ===================================================================
|
||||||
|
|
||||||
class Person_PhoneNumber : public ::google::protobuf::Message {
|
class Person_PhoneNumber : public ::google::protobuf::Message {
|
||||||
@ -264,10 +285,17 @@ class Person : public ::google::protobuf::Message {
|
|||||||
inline ::std::string* mutable_email();
|
inline ::std::string* mutable_email();
|
||||||
inline ::std::string* release_email();
|
inline ::std::string* release_email();
|
||||||
|
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
|
inline bool has_type() const;
|
||||||
|
inline void clear_type();
|
||||||
|
static const int kTypeFieldNumber = 4;
|
||||||
|
inline tutorial::Gender type() const;
|
||||||
|
inline void set_type(tutorial::Gender value);
|
||||||
|
|
||||||
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
inline int phone_size() const;
|
inline int phone_size() const;
|
||||||
inline void clear_phone();
|
inline void clear_phone();
|
||||||
static const int kPhoneFieldNumber = 4;
|
static const int kPhoneFieldNumber = 5;
|
||||||
inline const ::tutorial::Person_PhoneNumber& phone(int index) const;
|
inline const ::tutorial::Person_PhoneNumber& phone(int index) const;
|
||||||
inline ::tutorial::Person_PhoneNumber* mutable_phone(int index);
|
inline ::tutorial::Person_PhoneNumber* mutable_phone(int index);
|
||||||
inline ::tutorial::Person_PhoneNumber* add_phone();
|
inline ::tutorial::Person_PhoneNumber* add_phone();
|
||||||
@ -284,16 +312,19 @@ class Person : public ::google::protobuf::Message {
|
|||||||
inline void clear_has_id();
|
inline void clear_has_id();
|
||||||
inline void set_has_email();
|
inline void set_has_email();
|
||||||
inline void clear_has_email();
|
inline void clear_has_email();
|
||||||
|
inline void set_has_type();
|
||||||
|
inline void clear_has_type();
|
||||||
|
|
||||||
::google::protobuf::UnknownFieldSet _unknown_fields_;
|
::google::protobuf::UnknownFieldSet _unknown_fields_;
|
||||||
|
|
||||||
::std::string* name_;
|
::std::string* name_;
|
||||||
::std::string* email_;
|
::std::string* email_;
|
||||||
::google::protobuf::RepeatedPtrField< ::tutorial::Person_PhoneNumber > phone_;
|
|
||||||
::google::protobuf::int32 id_;
|
::google::protobuf::int32 id_;
|
||||||
|
int type_;
|
||||||
|
::google::protobuf::RepeatedPtrField< ::tutorial::Person_PhoneNumber > phone_;
|
||||||
|
|
||||||
mutable int _cached_size_;
|
mutable int _cached_size_;
|
||||||
::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
|
::google::protobuf::uint32 _has_bits_[(5 + 31) / 32];
|
||||||
|
|
||||||
friend void protobuf_AddDesc_addressbook_2eproto();
|
friend void protobuf_AddDesc_addressbook_2eproto();
|
||||||
friend void protobuf_AssignDesc_addressbook_2eproto();
|
friend void protobuf_AssignDesc_addressbook_2eproto();
|
||||||
@ -617,7 +648,30 @@ inline ::std::string* Person::release_email() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
|
inline bool Person::has_type() const {
|
||||||
|
return (_has_bits_[0] & 0x00000008u) != 0;
|
||||||
|
}
|
||||||
|
inline void Person::set_has_type() {
|
||||||
|
_has_bits_[0] |= 0x00000008u;
|
||||||
|
}
|
||||||
|
inline void Person::clear_has_type() {
|
||||||
|
_has_bits_[0] &= ~0x00000008u;
|
||||||
|
}
|
||||||
|
inline void Person::clear_type() {
|
||||||
|
type_ = 0;
|
||||||
|
clear_has_type();
|
||||||
|
}
|
||||||
|
inline tutorial::Gender Person::type() const {
|
||||||
|
return static_cast< tutorial::Gender >(type_);
|
||||||
|
}
|
||||||
|
inline void Person::set_type(tutorial::Gender value) {
|
||||||
|
GOOGLE_DCHECK(tutorial::Gender_IsValid(value));
|
||||||
|
set_has_type();
|
||||||
|
type_ = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
inline int Person::phone_size() const {
|
inline int Person::phone_size() const {
|
||||||
return phone_.size();
|
return phone_.size();
|
||||||
}
|
}
|
||||||
@ -684,6 +738,10 @@ template <>
|
|||||||
inline const EnumDescriptor* GetEnumDescriptor< ::tutorial::Person_PhoneType>() {
|
inline const EnumDescriptor* GetEnumDescriptor< ::tutorial::Person_PhoneType>() {
|
||||||
return ::tutorial::Person_PhoneType_descriptor();
|
return ::tutorial::Person_PhoneType_descriptor();
|
||||||
}
|
}
|
||||||
|
template <>
|
||||||
|
inline const EnumDescriptor* GetEnumDescriptor< tutorial::Gender>() {
|
||||||
|
return tutorial::Gender_descriptor();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace google
|
} // namespace google
|
||||||
} // namespace protobuf
|
} // namespace protobuf
|
||||||
|
@ -8,6 +8,81 @@ public final class Addressbook {
|
|||||||
public static void registerAllExtensions(
|
public static void registerAllExtensions(
|
||||||
com.google.protobuf.ExtensionRegistry registry) {
|
com.google.protobuf.ExtensionRegistry registry) {
|
||||||
}
|
}
|
||||||
|
public enum Gender
|
||||||
|
implements com.google.protobuf.ProtocolMessageEnum {
|
||||||
|
NONE(0, 0),
|
||||||
|
MALE(1, 1),
|
||||||
|
FEMALE(2, 2),
|
||||||
|
OTHER(3, 3),
|
||||||
|
;
|
||||||
|
|
||||||
|
public static final int NONE_VALUE = 0;
|
||||||
|
public static final int MALE_VALUE = 1;
|
||||||
|
public static final int FEMALE_VALUE = 2;
|
||||||
|
public static final int OTHER_VALUE = 3;
|
||||||
|
|
||||||
|
|
||||||
|
public final int getNumber() { return value; }
|
||||||
|
|
||||||
|
public static Gender valueOf(int value) {
|
||||||
|
switch (value) {
|
||||||
|
case 0: return NONE;
|
||||||
|
case 1: return MALE;
|
||||||
|
case 2: return FEMALE;
|
||||||
|
case 3: return OTHER;
|
||||||
|
default: return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static com.google.protobuf.Internal.EnumLiteMap<Gender>
|
||||||
|
internalGetValueMap() {
|
||||||
|
return internalValueMap;
|
||||||
|
}
|
||||||
|
private static com.google.protobuf.Internal.EnumLiteMap<Gender>
|
||||||
|
internalValueMap =
|
||||||
|
new com.google.protobuf.Internal.EnumLiteMap<Gender>() {
|
||||||
|
public Gender findValueByNumber(int number) {
|
||||||
|
return Gender.valueOf(number);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public final com.google.protobuf.Descriptors.EnumValueDescriptor
|
||||||
|
getValueDescriptor() {
|
||||||
|
return getDescriptor().getValues().get(index);
|
||||||
|
}
|
||||||
|
public final com.google.protobuf.Descriptors.EnumDescriptor
|
||||||
|
getDescriptorForType() {
|
||||||
|
return getDescriptor();
|
||||||
|
}
|
||||||
|
public static final com.google.protobuf.Descriptors.EnumDescriptor
|
||||||
|
getDescriptor() {
|
||||||
|
return tutorial.Addressbook.getDescriptor().getEnumTypes().get(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final Gender[] VALUES = {
|
||||||
|
NONE, MALE, FEMALE, OTHER,
|
||||||
|
};
|
||||||
|
|
||||||
|
public static Gender valueOf(
|
||||||
|
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
|
||||||
|
if (desc.getType() != getDescriptor()) {
|
||||||
|
throw new java.lang.IllegalArgumentException(
|
||||||
|
"EnumValueDescriptor is not for this type.");
|
||||||
|
}
|
||||||
|
return VALUES[desc.getIndex()];
|
||||||
|
}
|
||||||
|
|
||||||
|
private final int index;
|
||||||
|
private final int value;
|
||||||
|
|
||||||
|
private Gender(int index, int value) {
|
||||||
|
this.index = index;
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(enum_scope:tutorial.Gender)
|
||||||
|
}
|
||||||
|
|
||||||
public interface PersonOrBuilder
|
public interface PersonOrBuilder
|
||||||
extends com.google.protobuf.MessageOrBuilder {
|
extends com.google.protobuf.MessageOrBuilder {
|
||||||
|
|
||||||
@ -23,7 +98,11 @@ public final class Addressbook {
|
|||||||
boolean hasEmail();
|
boolean hasEmail();
|
||||||
String getEmail();
|
String getEmail();
|
||||||
|
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
|
boolean hasType();
|
||||||
|
tutorial.Addressbook.Gender getType();
|
||||||
|
|
||||||
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
java.util.List<tutorial.Addressbook.Person.PhoneNumber>
|
java.util.List<tutorial.Addressbook.Person.PhoneNumber>
|
||||||
getPhoneList();
|
getPhoneList();
|
||||||
tutorial.Addressbook.Person.PhoneNumber getPhone(int index);
|
tutorial.Addressbook.Person.PhoneNumber getPhone(int index);
|
||||||
@ -657,8 +736,18 @@ public final class Addressbook {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
public static final int PHONE_FIELD_NUMBER = 4;
|
public static final int TYPE_FIELD_NUMBER = 4;
|
||||||
|
private tutorial.Addressbook.Gender type_;
|
||||||
|
public boolean hasType() {
|
||||||
|
return ((bitField0_ & 0x00000008) == 0x00000008);
|
||||||
|
}
|
||||||
|
public tutorial.Addressbook.Gender getType() {
|
||||||
|
return type_;
|
||||||
|
}
|
||||||
|
|
||||||
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
|
public static final int PHONE_FIELD_NUMBER = 5;
|
||||||
private java.util.List<tutorial.Addressbook.Person.PhoneNumber> phone_;
|
private java.util.List<tutorial.Addressbook.Person.PhoneNumber> phone_;
|
||||||
public java.util.List<tutorial.Addressbook.Person.PhoneNumber> getPhoneList() {
|
public java.util.List<tutorial.Addressbook.Person.PhoneNumber> getPhoneList() {
|
||||||
return phone_;
|
return phone_;
|
||||||
@ -682,6 +771,7 @@ public final class Addressbook {
|
|||||||
name_ = "";
|
name_ = "";
|
||||||
id_ = 0;
|
id_ = 0;
|
||||||
email_ = "";
|
email_ = "";
|
||||||
|
type_ = tutorial.Addressbook.Gender.NONE;
|
||||||
phone_ = java.util.Collections.emptyList();
|
phone_ = java.util.Collections.emptyList();
|
||||||
}
|
}
|
||||||
private byte memoizedIsInitialized = -1;
|
private byte memoizedIsInitialized = -1;
|
||||||
@ -719,8 +809,11 @@ public final class Addressbook {
|
|||||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||||
output.writeBytes(3, getEmailBytes());
|
output.writeBytes(3, getEmailBytes());
|
||||||
}
|
}
|
||||||
|
if (((bitField0_ & 0x00000008) == 0x00000008)) {
|
||||||
|
output.writeEnum(4, type_.getNumber());
|
||||||
|
}
|
||||||
for (int i = 0; i < phone_.size(); i++) {
|
for (int i = 0; i < phone_.size(); i++) {
|
||||||
output.writeMessage(4, phone_.get(i));
|
output.writeMessage(5, phone_.get(i));
|
||||||
}
|
}
|
||||||
getUnknownFields().writeTo(output);
|
getUnknownFields().writeTo(output);
|
||||||
}
|
}
|
||||||
@ -743,9 +836,13 @@ public final class Addressbook {
|
|||||||
size += com.google.protobuf.CodedOutputStream
|
size += com.google.protobuf.CodedOutputStream
|
||||||
.computeBytesSize(3, getEmailBytes());
|
.computeBytesSize(3, getEmailBytes());
|
||||||
}
|
}
|
||||||
|
if (((bitField0_ & 0x00000008) == 0x00000008)) {
|
||||||
|
size += com.google.protobuf.CodedOutputStream
|
||||||
|
.computeEnumSize(4, type_.getNumber());
|
||||||
|
}
|
||||||
for (int i = 0; i < phone_.size(); i++) {
|
for (int i = 0; i < phone_.size(); i++) {
|
||||||
size += com.google.protobuf.CodedOutputStream
|
size += com.google.protobuf.CodedOutputStream
|
||||||
.computeMessageSize(4, phone_.get(i));
|
.computeMessageSize(5, phone_.get(i));
|
||||||
}
|
}
|
||||||
size += getUnknownFields().getSerializedSize();
|
size += getUnknownFields().getSerializedSize();
|
||||||
memoizedSerializedSize = size;
|
memoizedSerializedSize = size;
|
||||||
@ -878,9 +975,11 @@ public final class Addressbook {
|
|||||||
bitField0_ = (bitField0_ & ~0x00000002);
|
bitField0_ = (bitField0_ & ~0x00000002);
|
||||||
email_ = "";
|
email_ = "";
|
||||||
bitField0_ = (bitField0_ & ~0x00000004);
|
bitField0_ = (bitField0_ & ~0x00000004);
|
||||||
|
type_ = tutorial.Addressbook.Gender.NONE;
|
||||||
|
bitField0_ = (bitField0_ & ~0x00000008);
|
||||||
if (phoneBuilder_ == null) {
|
if (phoneBuilder_ == null) {
|
||||||
phone_ = java.util.Collections.emptyList();
|
phone_ = java.util.Collections.emptyList();
|
||||||
bitField0_ = (bitField0_ & ~0x00000008);
|
bitField0_ = (bitField0_ & ~0x00000010);
|
||||||
} else {
|
} else {
|
||||||
phoneBuilder_.clear();
|
phoneBuilder_.clear();
|
||||||
}
|
}
|
||||||
@ -934,10 +1033,14 @@ public final class Addressbook {
|
|||||||
to_bitField0_ |= 0x00000004;
|
to_bitField0_ |= 0x00000004;
|
||||||
}
|
}
|
||||||
result.email_ = email_;
|
result.email_ = email_;
|
||||||
|
if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
|
||||||
|
to_bitField0_ |= 0x00000008;
|
||||||
|
}
|
||||||
|
result.type_ = type_;
|
||||||
if (phoneBuilder_ == null) {
|
if (phoneBuilder_ == null) {
|
||||||
if (((bitField0_ & 0x00000008) == 0x00000008)) {
|
if (((bitField0_ & 0x00000010) == 0x00000010)) {
|
||||||
phone_ = java.util.Collections.unmodifiableList(phone_);
|
phone_ = java.util.Collections.unmodifiableList(phone_);
|
||||||
bitField0_ = (bitField0_ & ~0x00000008);
|
bitField0_ = (bitField0_ & ~0x00000010);
|
||||||
}
|
}
|
||||||
result.phone_ = phone_;
|
result.phone_ = phone_;
|
||||||
} else {
|
} else {
|
||||||
@ -968,11 +1071,14 @@ public final class Addressbook {
|
|||||||
if (other.hasEmail()) {
|
if (other.hasEmail()) {
|
||||||
setEmail(other.getEmail());
|
setEmail(other.getEmail());
|
||||||
}
|
}
|
||||||
|
if (other.hasType()) {
|
||||||
|
setType(other.getType());
|
||||||
|
}
|
||||||
if (phoneBuilder_ == null) {
|
if (phoneBuilder_ == null) {
|
||||||
if (!other.phone_.isEmpty()) {
|
if (!other.phone_.isEmpty()) {
|
||||||
if (phone_.isEmpty()) {
|
if (phone_.isEmpty()) {
|
||||||
phone_ = other.phone_;
|
phone_ = other.phone_;
|
||||||
bitField0_ = (bitField0_ & ~0x00000008);
|
bitField0_ = (bitField0_ & ~0x00000010);
|
||||||
} else {
|
} else {
|
||||||
ensurePhoneIsMutable();
|
ensurePhoneIsMutable();
|
||||||
phone_.addAll(other.phone_);
|
phone_.addAll(other.phone_);
|
||||||
@ -985,7 +1091,7 @@ public final class Addressbook {
|
|||||||
phoneBuilder_.dispose();
|
phoneBuilder_.dispose();
|
||||||
phoneBuilder_ = null;
|
phoneBuilder_ = null;
|
||||||
phone_ = other.phone_;
|
phone_ = other.phone_;
|
||||||
bitField0_ = (bitField0_ & ~0x00000008);
|
bitField0_ = (bitField0_ & ~0x00000010);
|
||||||
phoneBuilder_ =
|
phoneBuilder_ =
|
||||||
com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
|
com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
|
||||||
getPhoneFieldBuilder() : null;
|
getPhoneFieldBuilder() : null;
|
||||||
@ -1054,7 +1160,18 @@ public final class Addressbook {
|
|||||||
email_ = input.readBytes();
|
email_ = input.readBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 34: {
|
case 32: {
|
||||||
|
int rawValue = input.readEnum();
|
||||||
|
tutorial.Addressbook.Gender value = tutorial.Addressbook.Gender.valueOf(rawValue);
|
||||||
|
if (value == null) {
|
||||||
|
unknownFields.mergeVarintField(4, rawValue);
|
||||||
|
} else {
|
||||||
|
bitField0_ |= 0x00000008;
|
||||||
|
type_ = value;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 42: {
|
||||||
tutorial.Addressbook.Person.PhoneNumber.Builder subBuilder = tutorial.Addressbook.Person.PhoneNumber.newBuilder();
|
tutorial.Addressbook.Person.PhoneNumber.Builder subBuilder = tutorial.Addressbook.Person.PhoneNumber.newBuilder();
|
||||||
input.readMessage(subBuilder, extensionRegistry);
|
input.readMessage(subBuilder, extensionRegistry);
|
||||||
addPhone(subBuilder.buildPartial());
|
addPhone(subBuilder.buildPartial());
|
||||||
@ -1159,13 +1276,37 @@ public final class Addressbook {
|
|||||||
onChanged();
|
onChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
// repeated .tutorial.Person.PhoneNumber phone = 4;
|
// optional .tutorial.Gender type = 4 [default = NONE];
|
||||||
|
private tutorial.Addressbook.Gender type_ = tutorial.Addressbook.Gender.NONE;
|
||||||
|
public boolean hasType() {
|
||||||
|
return ((bitField0_ & 0x00000008) == 0x00000008);
|
||||||
|
}
|
||||||
|
public tutorial.Addressbook.Gender getType() {
|
||||||
|
return type_;
|
||||||
|
}
|
||||||
|
public Builder setType(tutorial.Addressbook.Gender value) {
|
||||||
|
if (value == null) {
|
||||||
|
throw new NullPointerException();
|
||||||
|
}
|
||||||
|
bitField0_ |= 0x00000008;
|
||||||
|
type_ = value;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public Builder clearType() {
|
||||||
|
bitField0_ = (bitField0_ & ~0x00000008);
|
||||||
|
type_ = tutorial.Addressbook.Gender.NONE;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
// repeated .tutorial.Person.PhoneNumber phone = 5;
|
||||||
private java.util.List<tutorial.Addressbook.Person.PhoneNumber> phone_ =
|
private java.util.List<tutorial.Addressbook.Person.PhoneNumber> phone_ =
|
||||||
java.util.Collections.emptyList();
|
java.util.Collections.emptyList();
|
||||||
private void ensurePhoneIsMutable() {
|
private void ensurePhoneIsMutable() {
|
||||||
if (!((bitField0_ & 0x00000008) == 0x00000008)) {
|
if (!((bitField0_ & 0x00000010) == 0x00000010)) {
|
||||||
phone_ = new java.util.ArrayList<tutorial.Addressbook.Person.PhoneNumber>(phone_);
|
phone_ = new java.util.ArrayList<tutorial.Addressbook.Person.PhoneNumber>(phone_);
|
||||||
bitField0_ |= 0x00000008;
|
bitField0_ |= 0x00000010;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1281,7 +1422,7 @@ public final class Addressbook {
|
|||||||
public Builder clearPhone() {
|
public Builder clearPhone() {
|
||||||
if (phoneBuilder_ == null) {
|
if (phoneBuilder_ == null) {
|
||||||
phone_ = java.util.Collections.emptyList();
|
phone_ = java.util.Collections.emptyList();
|
||||||
bitField0_ = (bitField0_ & ~0x00000008);
|
bitField0_ = (bitField0_ & ~0x00000010);
|
||||||
onChanged();
|
onChanged();
|
||||||
} else {
|
} else {
|
||||||
phoneBuilder_.clear();
|
phoneBuilder_.clear();
|
||||||
@ -1337,7 +1478,7 @@ public final class Addressbook {
|
|||||||
phoneBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
|
phoneBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
|
||||||
tutorial.Addressbook.Person.PhoneNumber, tutorial.Addressbook.Person.PhoneNumber.Builder, tutorial.Addressbook.Person.PhoneNumberOrBuilder>(
|
tutorial.Addressbook.Person.PhoneNumber, tutorial.Addressbook.Person.PhoneNumber.Builder, tutorial.Addressbook.Person.PhoneNumberOrBuilder>(
|
||||||
phone_,
|
phone_,
|
||||||
((bitField0_ & 0x00000008) == 0x00000008),
|
((bitField0_ & 0x00000010) == 0x00000010),
|
||||||
getParentForChildren(),
|
getParentForChildren(),
|
||||||
isClean());
|
isClean());
|
||||||
phone_ = null;
|
phone_ = null;
|
||||||
@ -1943,14 +2084,16 @@ public final class Addressbook {
|
|||||||
descriptor;
|
descriptor;
|
||||||
static {
|
static {
|
||||||
java.lang.String[] descriptorData = {
|
java.lang.String[] descriptorData = {
|
||||||
"\n\021addressbook.proto\022\010tutorial\"\332\001\n\006Person" +
|
"\n\021addressbook.proto\022\010tutorial\"\200\002\n\006Person" +
|
||||||
"\022\014\n\004name\030\001 \002(\t\022\n\n\002id\030\002 \002(\005\022\r\n\005email\030\003 \001(" +
|
"\022\014\n\004name\030\001 \002(\t\022\n\n\002id\030\002 \002(\005\022\r\n\005email\030\003 \001(" +
|
||||||
"\t\022+\n\005phone\030\004 \003(\0132\034.tutorial.Person.Phone" +
|
"\t\022$\n\004type\030\004 \001(\0162\020.tutorial.Gender:\004NONE\022" +
|
||||||
"Number\032M\n\013PhoneNumber\022\016\n\006number\030\001 \002(\t\022.\n" +
|
"+\n\005phone\030\005 \003(\0132\034.tutorial.Person.PhoneNu" +
|
||||||
"\004type\030\002 \001(\0162\032.tutorial.Person.PhoneType:" +
|
"mber\032M\n\013PhoneNumber\022\016\n\006number\030\001 \002(\t\022.\n\004t" +
|
||||||
"\004HOME\"+\n\tPhoneType\022\n\n\006MOBILE\020\000\022\010\n\004HOME\020\001" +
|
"ype\030\002 \001(\0162\032.tutorial.Person.PhoneType:\004H" +
|
||||||
"\022\010\n\004WORK\020\002\"/\n\013AddressBook\022 \n\006person\030\001 \003(" +
|
"OME\"+\n\tPhoneType\022\n\n\006MOBILE\020\000\022\010\n\004HOME\020\001\022\010" +
|
||||||
"\0132\020.tutorial.Person"
|
"\n\004WORK\020\002\"/\n\013AddressBook\022 \n\006person\030\001 \003(\0132" +
|
||||||
|
"\020.tutorial.Person*3\n\006Gender\022\010\n\004NONE\020\000\022\010\n" +
|
||||||
|
"\004MALE\020\001\022\n\n\006FEMALE\020\002\022\t\n\005OTHER\020\003"
|
||||||
};
|
};
|
||||||
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
||||||
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
|
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
|
||||||
@ -1962,7 +2105,7 @@ public final class Addressbook {
|
|||||||
internal_static_tutorial_Person_fieldAccessorTable = new
|
internal_static_tutorial_Person_fieldAccessorTable = new
|
||||||
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
|
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
|
||||||
internal_static_tutorial_Person_descriptor,
|
internal_static_tutorial_Person_descriptor,
|
||||||
new java.lang.String[] { "Name", "Id", "Email", "Phone", },
|
new java.lang.String[] { "Name", "Id", "Email", "Type", "Phone", },
|
||||||
tutorial.Addressbook.Person.class,
|
tutorial.Addressbook.Person.class,
|
||||||
tutorial.Addressbook.Person.Builder.class);
|
tutorial.Addressbook.Person.Builder.class);
|
||||||
internal_static_tutorial_Person_PhoneNumber_descriptor =
|
internal_static_tutorial_Person_PhoneNumber_descriptor =
|
||||||
|
@ -11,8 +11,42 @@ from google.protobuf import descriptor_pb2
|
|||||||
DESCRIPTOR = descriptor.FileDescriptor(
|
DESCRIPTOR = descriptor.FileDescriptor(
|
||||||
name='addressbook.proto',
|
name='addressbook.proto',
|
||||||
package='tutorial',
|
package='tutorial',
|
||||||
serialized_pb='\n\x11\x61\x64\x64ressbook.proto\x12\x08tutorial\"\xda\x01\n\x06Person\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\n\n\x02id\x18\x02 \x02(\x05\x12\r\n\x05\x65mail\x18\x03 \x01(\t\x12+\n\x05phone\x18\x04 \x03(\x0b\x32\x1c.tutorial.Person.PhoneNumber\x1aM\n\x0bPhoneNumber\x12\x0e\n\x06number\x18\x01 \x02(\t\x12.\n\x04type\x18\x02 \x01(\x0e\x32\x1a.tutorial.Person.PhoneType:\x04HOME\"+\n\tPhoneType\x12\n\n\x06MOBILE\x10\x00\x12\x08\n\x04HOME\x10\x01\x12\x08\n\x04WORK\x10\x02\"/\n\x0b\x41\x64\x64ressBook\x12 \n\x06person\x18\x01 \x03(\x0b\x32\x10.tutorial.Person')
|
serialized_pb='\n\x11\x61\x64\x64ressbook.proto\x12\x08tutorial\"\x80\x02\n\x06Person\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\n\n\x02id\x18\x02 \x02(\x05\x12\r\n\x05\x65mail\x18\x03 \x01(\t\x12$\n\x04type\x18\x04 \x01(\x0e\x32\x10.tutorial.Gender:\x04NONE\x12+\n\x05phone\x18\x05 \x03(\x0b\x32\x1c.tutorial.Person.PhoneNumber\x1aM\n\x0bPhoneNumber\x12\x0e\n\x06number\x18\x01 \x02(\t\x12.\n\x04type\x18\x02 \x01(\x0e\x32\x1a.tutorial.Person.PhoneType:\x04HOME\"+\n\tPhoneType\x12\n\n\x06MOBILE\x10\x00\x12\x08\n\x04HOME\x10\x01\x12\x08\n\x04WORK\x10\x02\"/\n\x0b\x41\x64\x64ressBook\x12 \n\x06person\x18\x01 \x03(\x0b\x32\x10.tutorial.Person*3\n\x06Gender\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04MALE\x10\x01\x12\n\n\x06\x46\x45MALE\x10\x02\x12\t\n\x05OTHER\x10\x03')
|
||||||
|
|
||||||
|
_GENDER = descriptor.EnumDescriptor(
|
||||||
|
name='Gender',
|
||||||
|
full_name='tutorial.Gender',
|
||||||
|
filename=None,
|
||||||
|
file=DESCRIPTOR,
|
||||||
|
values=[
|
||||||
|
descriptor.EnumValueDescriptor(
|
||||||
|
name='NONE', index=0, number=0,
|
||||||
|
options=None,
|
||||||
|
type=None),
|
||||||
|
descriptor.EnumValueDescriptor(
|
||||||
|
name='MALE', index=1, number=1,
|
||||||
|
options=None,
|
||||||
|
type=None),
|
||||||
|
descriptor.EnumValueDescriptor(
|
||||||
|
name='FEMALE', index=2, number=2,
|
||||||
|
options=None,
|
||||||
|
type=None),
|
||||||
|
descriptor.EnumValueDescriptor(
|
||||||
|
name='OTHER', index=3, number=3,
|
||||||
|
options=None,
|
||||||
|
type=None),
|
||||||
|
],
|
||||||
|
containing_type=None,
|
||||||
|
options=None,
|
||||||
|
serialized_start=339,
|
||||||
|
serialized_end=390,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
NONE = 0
|
||||||
|
MALE = 1
|
||||||
|
FEMALE = 2
|
||||||
|
OTHER = 3
|
||||||
|
|
||||||
|
|
||||||
_PERSON_PHONETYPE = descriptor.EnumDescriptor(
|
_PERSON_PHONETYPE = descriptor.EnumDescriptor(
|
||||||
@ -36,8 +70,8 @@ _PERSON_PHONETYPE = descriptor.EnumDescriptor(
|
|||||||
],
|
],
|
||||||
containing_type=None,
|
containing_type=None,
|
||||||
options=None,
|
options=None,
|
||||||
serialized_start=207,
|
serialized_start=245,
|
||||||
serialized_end=250,
|
serialized_end=288,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -71,8 +105,8 @@ _PERSON_PHONENUMBER = descriptor.Descriptor(
|
|||||||
options=None,
|
options=None,
|
||||||
is_extendable=False,
|
is_extendable=False,
|
||||||
extension_ranges=[],
|
extension_ranges=[],
|
||||||
serialized_start=128,
|
serialized_start=166,
|
||||||
serialized_end=205,
|
serialized_end=243,
|
||||||
)
|
)
|
||||||
|
|
||||||
_PERSON = descriptor.Descriptor(
|
_PERSON = descriptor.Descriptor(
|
||||||
@ -104,8 +138,15 @@ _PERSON = descriptor.Descriptor(
|
|||||||
is_extension=False, extension_scope=None,
|
is_extension=False, extension_scope=None,
|
||||||
options=None),
|
options=None),
|
||||||
descriptor.FieldDescriptor(
|
descriptor.FieldDescriptor(
|
||||||
name='phone', full_name='tutorial.Person.phone', index=3,
|
name='type', full_name='tutorial.Person.type', index=3,
|
||||||
number=4, type=11, cpp_type=10, label=3,
|
number=4, type=14, cpp_type=8, label=1,
|
||||||
|
has_default_value=True, default_value=0,
|
||||||
|
message_type=None, enum_type=None, containing_type=None,
|
||||||
|
is_extension=False, extension_scope=None,
|
||||||
|
options=None),
|
||||||
|
descriptor.FieldDescriptor(
|
||||||
|
name='phone', full_name='tutorial.Person.phone', index=4,
|
||||||
|
number=5, type=11, cpp_type=10, label=3,
|
||||||
has_default_value=False, default_value=[],
|
has_default_value=False, default_value=[],
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
message_type=None, enum_type=None, containing_type=None,
|
||||||
is_extension=False, extension_scope=None,
|
is_extension=False, extension_scope=None,
|
||||||
@ -121,7 +162,7 @@ _PERSON = descriptor.Descriptor(
|
|||||||
is_extendable=False,
|
is_extendable=False,
|
||||||
extension_ranges=[],
|
extension_ranges=[],
|
||||||
serialized_start=32,
|
serialized_start=32,
|
||||||
serialized_end=250,
|
serialized_end=288,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -148,12 +189,13 @@ _ADDRESSBOOK = descriptor.Descriptor(
|
|||||||
options=None,
|
options=None,
|
||||||
is_extendable=False,
|
is_extendable=False,
|
||||||
extension_ranges=[],
|
extension_ranges=[],
|
||||||
serialized_start=252,
|
serialized_start=290,
|
||||||
serialized_end=299,
|
serialized_end=337,
|
||||||
)
|
)
|
||||||
|
|
||||||
_PERSON_PHONENUMBER.fields_by_name['type'].enum_type = _PERSON_PHONETYPE
|
_PERSON_PHONENUMBER.fields_by_name['type'].enum_type = _PERSON_PHONETYPE
|
||||||
_PERSON_PHONENUMBER.containing_type = _PERSON;
|
_PERSON_PHONENUMBER.containing_type = _PERSON;
|
||||||
|
_PERSON.fields_by_name['type'].enum_type = _GENDER
|
||||||
_PERSON.fields_by_name['phone'].message_type = _PERSON_PHONENUMBER
|
_PERSON.fields_by_name['phone'].message_type = _PERSON_PHONENUMBER
|
||||||
_PERSON_PHONETYPE.containing_type = _PERSON;
|
_PERSON_PHONETYPE.containing_type = _PERSON;
|
||||||
_ADDRESSBOOK.fields_by_name['person'].message_type = _PERSON
|
_ADDRESSBOOK.fields_by_name['person'].message_type = _PERSON
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
package tutorial;
|
package tutorial;
|
||||||
|
|
||||||
|
enum Gender {
|
||||||
|
NONE = 0;
|
||||||
|
MALE = 1;
|
||||||
|
FEMALE = 2;
|
||||||
|
OTHER = 3;
|
||||||
|
}
|
||||||
|
|
||||||
message Person {
|
message Person {
|
||||||
required string name = 1;
|
required string name = 1;
|
||||||
required int32 id = 2;
|
required int32 id = 2;
|
||||||
optional string email = 3;
|
optional string email = 3;
|
||||||
|
optional Gender type = 4 [default = NONE];
|
||||||
|
|
||||||
enum PhoneType {
|
enum PhoneType {
|
||||||
MOBILE = 0;
|
MOBILE = 0;
|
||||||
@ -16,7 +24,7 @@ message Person {
|
|||||||
optional PhoneType type = 2 [default = HOME];
|
optional PhoneType type = 2 [default = HOME];
|
||||||
}
|
}
|
||||||
|
|
||||||
repeated PhoneNumber phone = 4;
|
repeated PhoneNumber phone = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message AddressBook {
|
message AddressBook {
|
||||||
|
Loading…
Reference in New Issue
Block a user