All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.protostream.sampledomain.marshallers.UserMarshaller Maven / Gradle / Ivy

package org.infinispan.protostream.sampledomain.marshallers;

import java.io.IOException;
import java.time.Instant;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.infinispan.protostream.MessageMarshaller;
import org.infinispan.protostream.UnknownFieldSet;
import org.infinispan.protostream.UnknownFieldSetHandler;
import org.infinispan.protostream.sampledomain.Address;
import org.infinispan.protostream.sampledomain.User;

/**
 * @author [email protected]
 * @deprecated This marshalling mechanism will be removed in 5. Please switch to annotation based marshalling.
 */
@Deprecated
public class UserMarshaller implements MessageMarshaller, UnknownFieldSetHandler {

   @Override
   public String getTypeName() {
      return "sample_bank_account.User";
   }

   @Override
   public Class getJavaClass() {
      return User.class;
   }

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

      String name = reader.readString("name");
      String surname = reader.readString("surname");
      String salutation = reader.readString("salutation");

      List
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"); Instant creationDate = reader.readInstant("creationDate"); Instant passwordExpirationDate = reader.readInstant("passwordExpirationDate"); User user = new User(); user.setId(id); user.setAccountIds(accountIds); user.setName(name); user.setSurname(surname); user.setSalutation(salutation); user.setAge(age); user.setGender(gender); user.setAddresses(addresses); user.setNotes(notes); user.setCreationDate(creationDate); user.setPasswordExpirationDate(passwordExpirationDate); return user; } @Override public void writeTo(ProtoStreamWriter writer, User user) throws IOException { writer.writeInt("id", user.getId()); writer.writeCollection("accountIds", user.getAccountIds(), Integer.class); writer.writeString("name", user.getName()); writer.writeString("surname", user.getSurname()); writer.writeString("salutation", user.getSalutation()); writer.writeCollection("addresses", user.getAddresses(), Address.class); writer.writeInt("age", user.getAge()); writer.writeEnum("gender", user.getGender()); writer.writeString("notes", user.getNotes()); writer.writeInstant("creationDate", user.getCreationDate()); writer.writeInstant("passwordExpirationDate", user.getPasswordExpirationDate()); } @Override public UnknownFieldSet getUnknownFieldSet(User user) { return user.getUnknownFieldSet(); } @Override public void setUnknownFieldSet(User user, UnknownFieldSet unknownFieldSet) { user.setUnknownFieldSet(unknownFieldSet); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy