@Override
  public PhoneNumber readFrom(ProtoStreamReader reader) throws IOException {
    String number = reader.readString("number");
    PhoneType type = reader.readObject("type", PhoneType.class);

    PhoneNumber phoneNumber = new PhoneNumber();
    phoneNumber.setNumber(number);
    phoneNumber.setType(type);
    return phoneNumber;
  }
Example #2
0
  @Override
  public Address readFrom(ProtoStreamReader reader) throws IOException {
    String street = reader.readString("street");
    String postCode = reader.readString("postCode");

    Address address = new Address();
    address.setStreet(street);
    address.setPostCode(postCode);

    return address;
  }
Example #3
0
  @Override
  public User readFrom(ProtoStreamReader reader) throws IOException {
    int id = reader.readInt("id");
    Set<Integer> accountIds = reader.readCollection("accountIds", new HashSet<>(), Integer.class);

    // Read them out of order. It still works but logs a warning!
    String surname = reader.readString("surname");
    String name = reader.readString("name");

    List<Address> addresses = reader.readCollection("addresses", new ArrayList<>(), Address.class);

    Integer age = reader.readInt("age");
    User.Gender gender = reader.readEnum("gender", User.Gender.class);
    String notes = reader.readString("notes");

    User user = new User();
    user.setId(id);
    user.setAccountIds(accountIds);
    user.setName(name);
    user.setSurname(surname);
    user.setAge(age);
    user.setGender(gender);
    user.setAddresses(addresses);
    user.setNotes(notes);
    return user;
  }