/* * Copyright (C) 2015 Actor LLC. <https://actor.im> */ package im.actor.core.entity; import com.google.j2objc.annotations.Property; import java.io.IOException; import im.actor.runtime.bser.BserCreator; import im.actor.runtime.bser.BserObject; import im.actor.runtime.bser.BserValues; import im.actor.runtime.bser.BserWriter; import im.actor.runtime.storage.ListEngineItem; public class SearchEntity extends BserObject implements ListEngineItem { public static final BserCreator<SearchEntity> CREATOR = new BserCreator<SearchEntity>() { @Override public SearchEntity createInstance() { return new SearchEntity(); } }; public static final String ENTITY_NAME = "Search"; @SuppressWarnings("NullableProblems") @Property("readonly, nonatomic") private Peer peer; @Property("readonly, nonatomic") private long order; @Property("readonly, nonatomic") private Avatar avatar; @Property("readonly, nonatomic") @SuppressWarnings("NullableProblems") private String title; public SearchEntity(Peer peer, long order, Avatar avatar, String title) { this.peer = peer; this.order = order; this.avatar = avatar; this.title = title; } private SearchEntity() { } public Peer getPeer() { return peer; } public Avatar getAvatar() { return avatar; } public String getTitle() { return title; } public long getOrder() { return order; } @Override public void parse(BserValues values) throws IOException { peer = Peer.fromBytes(values.getBytes(1)); order = values.getLong(2); if (values.optBytes(3) != null) { avatar = new Avatar(values.getBytes(3)); } title = values.getString(4); } @Override public void serialize(BserWriter writer) throws IOException { writer.writeObject(1, peer); writer.writeLong(2, order); if (avatar != null) { writer.writeObject(3, avatar); } writer.writeString(4, title); } @Override public long getEngineId() { return peer.getUnuqueId(); } @Override public long getEngineSort() { return order; } @Override public String getEngineSearch() { return title; } }