55 lines
1.2 KiB
Java
55 lines
1.2 KiB
Java
package com.baeldung.kryo;
|
|
|
|
import com.esotericsoftware.kryo.DefaultSerializer;
|
|
import com.esotericsoftware.kryo.Kryo;
|
|
import com.esotericsoftware.kryo.KryoSerializable;
|
|
import com.esotericsoftware.kryo.io.Input;
|
|
import com.esotericsoftware.kryo.io.Output;
|
|
import java.util.Date;
|
|
|
|
@DefaultSerializer(PersonSerializer.class)
|
|
public class Person implements KryoSerializable {
|
|
private String name = "John Doe";
|
|
private int age = 18;
|
|
private Date birthDate = new Date(933191282821L);
|
|
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
public void setName(String name) {
|
|
this.name = name;
|
|
}
|
|
|
|
public int getAge() {
|
|
return age;
|
|
}
|
|
|
|
public void setAge(int age) {
|
|
this.age = age;
|
|
}
|
|
|
|
public Date getBirthDate() {
|
|
return birthDate;
|
|
}
|
|
|
|
public void setBirthDate(Date birthDate) {
|
|
this.birthDate = birthDate;
|
|
}
|
|
|
|
@Override
|
|
public void write(Kryo kryo, Output output) {
|
|
output.writeString(name);
|
|
output.writeLong(birthDate.getTime());
|
|
output.writeInt(age);
|
|
}
|
|
|
|
@Override
|
|
public void read(Kryo kryo, Input input) {
|
|
name = input.readString();
|
|
birthDate = new Date(input.readLong());
|
|
age = input.readInt();
|
|
}
|
|
|
|
}
|