package im.actor.core.api;
/*
* Generated by the Actor API Scheme generator. DO NOT EDIT!
*/
import im.actor.runtime.bser.*;
import im.actor.runtime.collections.*;
import static im.actor.runtime.bser.Utils.*;
import im.actor.core.network.parser.*;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
import com.google.j2objc.annotations.ObjectiveCName;
import java.io.IOException;
import java.util.List;
import java.util.ArrayList;
public class ApiGroupFull extends BserObject {
private int id;
private long createDate;
private Integer ownerUid;
private List<ApiMember> members;
private String theme;
private String about;
private ApiMapValue ext;
private Boolean isAsyncMembers;
private Boolean isSharedHistory;
private String shortName;
private Long permissions;
public ApiGroupFull(int id, long createDate, @Nullable Integer ownerUid, @NotNull List<ApiMember> members, @Nullable String theme, @Nullable String about, @Nullable ApiMapValue ext, @Nullable Boolean isAsyncMembers, @Nullable Boolean isSharedHistory, @Nullable String shortName, @Nullable Long permissions) {
this.id = id;
this.createDate = createDate;
this.ownerUid = ownerUid;
this.members = members;
this.theme = theme;
this.about = about;
this.ext = ext;
this.isAsyncMembers = isAsyncMembers;
this.isSharedHistory = isSharedHistory;
this.shortName = shortName;
this.permissions = permissions;
}
public ApiGroupFull() {
}
public int getId() {
return this.id;
}
public long getCreateDate() {
return this.createDate;
}
@Nullable
public Integer getOwnerUid() {
return this.ownerUid;
}
@NotNull
public List<ApiMember> getMembers() {
return this.members;
}
@Nullable
public String getTheme() {
return this.theme;
}
@Nullable
public String getAbout() {
return this.about;
}
@Nullable
public ApiMapValue getExt() {
return this.ext;
}
@Nullable
public Boolean isAsyncMembers() {
return this.isAsyncMembers;
}
@Nullable
public Boolean isSharedHistory() {
return this.isSharedHistory;
}
@Nullable
public String getShortName() {
return this.shortName;
}
@Nullable
public Long getPermissions() {
return this.permissions;
}
@Override
public void parse(BserValues values) throws IOException {
this.id = values.getInt(1);
this.createDate = values.getLong(6);
this.ownerUid = values.optInt(5);
List<ApiMember> _members = new ArrayList<ApiMember>();
for (int i = 0; i < values.getRepeatedCount(12); i ++) {
_members.add(new ApiMember());
}
this.members = values.getRepeatedObj(12, _members);
this.theme = values.optString(2);
this.about = values.optString(3);
this.ext = values.optObj(7, new ApiMapValue());
this.isAsyncMembers = values.optBool(11);
this.isSharedHistory = values.optBool(10);
this.shortName = values.optString(14);
this.permissions = values.optLong(27);
if (values.hasRemaining()) {
setUnmappedObjects(values.buildRemaining());
}
}
@Override
public void serialize(BserWriter writer) throws IOException {
writer.writeInt(1, this.id);
writer.writeLong(6, this.createDate);
if (this.ownerUid != null) {
writer.writeInt(5, this.ownerUid);
}
writer.writeRepeatedObj(12, this.members);
if (this.theme != null) {
writer.writeString(2, this.theme);
}
if (this.about != null) {
writer.writeString(3, this.about);
}
if (this.ext != null) {
writer.writeObject(7, this.ext);
}
if (this.isAsyncMembers != null) {
writer.writeBool(11, this.isAsyncMembers);
}
if (this.isSharedHistory != null) {
writer.writeBool(10, this.isSharedHistory);
}
if (this.shortName != null) {
writer.writeString(14, this.shortName);
}
if (this.permissions != null) {
writer.writeLong(27, this.permissions);
}
if (this.getUnmappedObjects() != null) {
SparseArray<Object> unmapped = this.getUnmappedObjects();
for (int i = 0; i < unmapped.size(); i++) {
int key = unmapped.keyAt(i);
writer.writeUnmapped(key, unmapped.get(key));
}
}
}
@Override
public String toString() {
String res = "struct GroupFull{";
res += "id=" + this.id;
res += ", createDate=" + this.createDate;
res += ", ownerUid=" + this.ownerUid;
res += ", members=" + this.members;
res += ", theme=" + this.theme;
res += ", about=" + this.about;
res += ", isAsyncMembers=" + this.isAsyncMembers;
res += ", isSharedHistory=" + this.isSharedHistory;
res += ", shortName=" + this.shortName;
res += ", permissions=" + this.permissions;
res += "}";
return res;
}
}