git.iko.soy/opencode-android
on master help sign in
77 lines 2.8 kB history raw
1package soy.iko.opencode.shared;
4public final class SessionView {
5 public final String id;
6 public final String title;
8 public SessionView(String id, String title) {
9 java.util.Objects.requireNonNull(id, "id must not be null");
10 java.util.Objects.requireNonNull(title, "title must not be null");
11 this.id = id;
12 this.title = title;
13 }
15 public void serialize(com.novi.serde.Serializer serializer) throws com.novi.serde.SerializationError {
16 serializer.increase_container_depth();
17 serializer.serialize_str(id);
18 serializer.serialize_str(title);
19 serializer.decrease_container_depth();
20 }
22 public byte[] bincodeSerialize() throws com.novi.serde.SerializationError {
23 com.novi.serde.Serializer serializer = new com.novi.bincode.BincodeSerializer();
24 serialize(serializer);
25 return serializer.get_bytes();
26 }
28 public static SessionView deserialize(com.novi.serde.Deserializer deserializer) throws com.novi.serde.DeserializationError {
29 deserializer.increase_container_depth();
30 Builder builder = new Builder();
31 builder.id = deserializer.deserialize_str();
32 builder.title = deserializer.deserialize_str();
33 deserializer.decrease_container_depth();
34 return builder.build();
35 }
37 public static SessionView bincodeDeserialize(byte[] input) throws com.novi.serde.DeserializationError {
38 if (input == null) {
39 throw new com.novi.serde.DeserializationError("Cannot deserialize null array");
40 }
41 com.novi.serde.Deserializer deserializer = new com.novi.bincode.BincodeDeserializer(input);
42 SessionView value = deserialize(deserializer);
43 if (deserializer.get_buffer_offset() < input.length) {
44 throw new com.novi.serde.DeserializationError("Some input bytes were not read");
45 }
46 return value;
47 }
49 public boolean equals(Object obj) {
50 if (this == obj) return true;
51 if (obj == null) return false;
52 if (getClass() != obj.getClass()) return false;
53 SessionView other = (SessionView) obj;
54 if (!java.util.Objects.equals(this.id, other.id)) { return false; }
55 if (!java.util.Objects.equals(this.title, other.title)) { return false; }
56 return true;
57 }
59 public int hashCode() {
60 int value = 7;
61 value = 31 * value + (this.id != null ? this.id.hashCode() : 0);
62 value = 31 * value + (this.title != null ? this.title.hashCode() : 0);
63 return value;
64 }
66 public static final class Builder {
67 public String id;
68 public String title;
70 public SessionView build() {
71 return new SessionView(
72 id,
73 title
74 );
75 }
76 }