Сериализация
This commit is contained in:
112
src/main/java/com/rosetta/im/packet/runtime/SearchInfo.java
Normal file
112
src/main/java/com/rosetta/im/packet/runtime/SearchInfo.java
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
package com.rosetta.im.packet.runtime;
|
||||||
|
|
||||||
|
import io.orprotocol.Stream;
|
||||||
|
import io.orprotocol.serializer.Serializable;
|
||||||
|
|
||||||
|
public class SearchInfo implements Serializable {
|
||||||
|
|
||||||
|
public String username;
|
||||||
|
public String title;
|
||||||
|
public String publicKey;
|
||||||
|
public int verified;
|
||||||
|
public NetworkStatus networkStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Получает имя пользователя.
|
||||||
|
* @return Имя пользователя.
|
||||||
|
*/
|
||||||
|
public String getUsername() {
|
||||||
|
return username;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Устанавливает имя пользователя.
|
||||||
|
* @param username Имя пользователя.
|
||||||
|
*/
|
||||||
|
public void setUsername(String username) {
|
||||||
|
this.username = username;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Получает заголовок пользователя.
|
||||||
|
* @return Заголовок пользователя.
|
||||||
|
*/
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Устанавливает заголовок пользователя.
|
||||||
|
* @param title Заголовок пользователя.
|
||||||
|
*/
|
||||||
|
public void setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Получает публичный ключ пользователя.
|
||||||
|
* @return Публичный ключ пользователя.
|
||||||
|
*/
|
||||||
|
public String getPublicKey() {
|
||||||
|
return publicKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Устанавливает публичный ключ пользователя.
|
||||||
|
* @param publicKey Публичный ключ пользователя.
|
||||||
|
*/
|
||||||
|
public void setPublicKey(String publicKey) {
|
||||||
|
this.publicKey = publicKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Получает статус верификации пользователя.
|
||||||
|
* @return Статус верификации пользователя.
|
||||||
|
*/
|
||||||
|
public int getVerified() {
|
||||||
|
return verified;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Устанавливает статус верификации пользователя.
|
||||||
|
* @param verified Статус верификации пользователя.
|
||||||
|
*/
|
||||||
|
public void setVerified(int verified) {
|
||||||
|
this.verified = verified;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Получает сетевой статус пользователя.
|
||||||
|
* @return Сетевой статус пользователя.
|
||||||
|
*/
|
||||||
|
public NetworkStatus getNetworkStatus() {
|
||||||
|
return networkStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Устанавливает сетевой статус пользователя.
|
||||||
|
* @param networkStatus Сетевой статус пользователя.
|
||||||
|
*/
|
||||||
|
public void setNetworkStatus(NetworkStatus networkStatus) {
|
||||||
|
this.networkStatus = networkStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readFromStream(Stream stream) {
|
||||||
|
this.username = stream.readString();
|
||||||
|
this.title = stream.readString();
|
||||||
|
this.publicKey = stream.readString();
|
||||||
|
this.verified = stream.readInt8();
|
||||||
|
this.networkStatus = NetworkStatus.fromCode(stream.readInt8());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToStream(Stream stream) {
|
||||||
|
stream.writeString(this.username);
|
||||||
|
stream.writeString(this.title);
|
||||||
|
stream.writeString(this.publicKey);
|
||||||
|
stream.writeInt8(this.verified);
|
||||||
|
stream.writeInt8(this.networkStatus.getCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
16
src/main/java/io/orprotocol/serializer/Serializable.java
Normal file
16
src/main/java/io/orprotocol/serializer/Serializable.java
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package io.orprotocol.serializer;
|
||||||
|
|
||||||
|
import io.orprotocol.Stream;
|
||||||
|
|
||||||
|
public interface Serializable {
|
||||||
|
/**
|
||||||
|
* Сериализует объект из потока данных. Используется при получении данных.
|
||||||
|
* @param stream Поток данных для сериализации
|
||||||
|
*/
|
||||||
|
void readFromStream(Stream stream);
|
||||||
|
/**
|
||||||
|
* Десериализует обьект в поток данных. Используется при отправке данных.
|
||||||
|
* @return Десериализованный объект
|
||||||
|
*/
|
||||||
|
void writeToStream(Stream stream);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user