From 124747254cfa06cfe77905133c1d33eadf50a1d6 Mon Sep 17 00:00:00 2001 From: Rubenlagu Date: Sun, 22 Nov 2015 00:51:36 +0100 Subject: [PATCH] 1. Super groups support --- .idea/workspace.xml | 915 ++++++++++++------ .../telegram/api/methods/ForwardMessage.java | 8 +- .../org/telegram/api/methods/GetFile.java | 7 +- .../java/org/telegram/api/methods/GetMe.java | 4 +- .../api/methods/GetUserProfilePhotos.java | 11 +- .../telegram/api/methods/SendChatAction.java | 5 +- .../telegram/api/methods/SendLocation.java | 15 +- .../org/telegram/api/methods/SendMessage.java | 21 +- .../java/org/telegram/api/objects/Audio.java | 18 +- .../java/org/telegram/api/objects/Chat.java | 26 +- .../org/telegram/api/objects/Contact.java | 12 +- .../org/telegram/api/objects/Document.java | 15 +- .../java/org/telegram/api/objects/File.java | 11 +- .../api/objects/ForceReplyKeyboard.java | 6 +- .../org/telegram/api/objects/Location.java | 6 +- .../org/telegram/api/objects/Message.java | 140 +-- .../org/telegram/api/objects/PhotoSize.java | 10 +- .../api/objects/ReplyKeyboardHide.java | 6 +- .../api/objects/ReplyKeyboardMarkup.java | 22 +- .../org/telegram/api/objects/Sticker.java | 13 +- .../java/org/telegram/api/objects/Update.java | 8 +- .../java/org/telegram/api/objects/User.java | 12 +- .../api/objects/UserProfilePhotos.java | 16 +- .../java/org/telegram/api/objects/Video.java | 17 +- .../java/org/telegram/api/objects/Voice.java | 12 +- 25 files changed, 709 insertions(+), 627 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 61f4b0f..c9ebe40 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,13 +2,35 @@ - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -52,33 +74,37 @@ - - + + - - + + - - + + - - + + - + + + + + - - + + - + @@ -119,41 +145,13 @@ + true @@ -217,9 +244,6 @@ - - - @@ -624,6 +684,7 @@ + @@ -690,6 +751,15 @@ - @@ -1405,66 +1632,66 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1479,10 +1706,6 @@ - - - - @@ -1504,7 +1727,12 @@ - @@ -1527,12 +1755,6 @@ @@ -1564,378 +1792,449 @@ - + - - + + + - + - - + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + + + - + - - + + + + + - + - - + + + - + - - + + + + + - + - - + + + + + - + - - + + - + - - + + + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - + + - + - + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + - + - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + + - + - - + + + - + - - + + + - + - - + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - - - + - - + + - + - - + + - + - - + + + + + + + + - + - - - - - + + + diff --git a/src/main/java/org/telegram/api/methods/ForwardMessage.java b/src/main/java/org/telegram/api/methods/ForwardMessage.java index d02f369..11a41f1 100644 --- a/src/main/java/org/telegram/api/methods/ForwardMessage.java +++ b/src/main/java/org/telegram/api/methods/ForwardMessage.java @@ -65,13 +65,7 @@ public class ForwardMessage extends BotApiMethod { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(METHOD_FIELD, PATH); - gen.writeStringField(CHATID_FIELD, chatId); - gen.writeNumberField(FROMCHATID_FIELD, fromChatId); - gen.writeNumberField(MESSAGEID_FIELD, messageId); - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } @Override diff --git a/src/main/java/org/telegram/api/methods/GetFile.java b/src/main/java/org/telegram/api/methods/GetFile.java index 7c1e705..2f49040 100644 --- a/src/main/java/org/telegram/api/methods/GetFile.java +++ b/src/main/java/org/telegram/api/methods/GetFile.java @@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; import org.json.JSONObject; import org.telegram.api.objects.File; -import org.telegram.api.objects.Message; import java.io.IOException; @@ -50,11 +49,7 @@ public class GetFile extends BotApiMethod { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(METHOD_FIELD, PATH); - gen.writeStringField(FILEID_FIELD, fileId); - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } @Override diff --git a/src/main/java/org/telegram/api/methods/GetMe.java b/src/main/java/org/telegram/api/methods/GetMe.java index a925df1..601686e 100644 --- a/src/main/java/org/telegram/api/methods/GetMe.java +++ b/src/main/java/org/telegram/api/methods/GetMe.java @@ -45,8 +45,6 @@ public class GetMe extends BotApiMethod { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(METHOD_FIELD, PATH); - gen.writeEndObject(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/methods/GetUserProfilePhotos.java b/src/main/java/org/telegram/api/methods/GetUserProfilePhotos.java index 161bdfe..90c032b 100644 --- a/src/main/java/org/telegram/api/methods/GetUserProfilePhotos.java +++ b/src/main/java/org/telegram/api/methods/GetUserProfilePhotos.java @@ -4,7 +4,6 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; import org.json.JSONObject; -import org.telegram.api.objects.Message; import org.telegram.api.objects.UserProfilePhotos; import java.io.IOException; @@ -98,14 +97,6 @@ public class GetUserProfilePhotos extends BotApiMethod { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(METHOD_FIELD, PATH); - gen.writeNumberField(USERID_FIELD, userId); - gen.writeNumberField(OFFSET_FIELD, offset); - if (limit != null) { - gen.writeNumberField(LIMIT_FIELD, limit); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/methods/SendChatAction.java b/src/main/java/org/telegram/api/methods/SendChatAction.java index d983683..f170000 100644 --- a/src/main/java/org/telegram/api/methods/SendChatAction.java +++ b/src/main/java/org/telegram/api/methods/SendChatAction.java @@ -81,9 +81,6 @@ public class SendChatAction extends BotApiMethod{ @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(CHATID_FIELD, chatId); - gen.writeStringField(ACTION_FIELD, action); - gen.writeEndObject(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/methods/SendLocation.java b/src/main/java/org/telegram/api/methods/SendLocation.java index 81a9a3d..9e04b37 100644 --- a/src/main/java/org/telegram/api/methods/SendLocation.java +++ b/src/main/java/org/telegram/api/methods/SendLocation.java @@ -118,19 +118,6 @@ public class SendLocation extends BotApiMethod { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(METHOD_FIELD, PATH); - gen.writeStringField(CHATID_FIELD, chatId); - gen.writeNumberField(LATITUDE_FIELD, latitude); - gen.writeNumberField(LONGITUDE_FIELD, longitude); - if (replayToMessageId != null) { - gen.writeNumberField(REPLYTOMESSAGEID_FIELD, replayToMessageId); - } - if (replayMarkup != null) { - gen.writeObjectField(REPLYMARKUP_FIELD, replayMarkup); - } - - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/methods/SendMessage.java b/src/main/java/org/telegram/api/methods/SendMessage.java index 80c84a7..3a4741e 100644 --- a/src/main/java/org/telegram/api/methods/SendMessage.java +++ b/src/main/java/org/telegram/api/methods/SendMessage.java @@ -143,25 +143,6 @@ public class SendMessage extends BotApiMethod { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(METHOD_FIELD, PATH); - gen.writeStringField(CHATID_FIELD, chatId); - gen.writeStringField(TEXT_FIELD, text); - - if (parseMode != null) { - gen.writeStringField(PARSEMODE_FIELD, parseMode); - } - if (disableWebPagePreview != null) { - gen.writeBooleanField(DISABLEWEBPAGEPREVIEW_FIELD, disableWebPagePreview); - } - if (replayToMessageId != null) { - gen.writeNumberField(REPLYTOMESSAGEID_FIELD, replayToMessageId); - } - if (replayMarkup != null) { - gen.writeObjectField(REPLYMARKUP_FIELD, replayMarkup); - } - - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Audio.java b/src/main/java/org/telegram/api/objects/Audio.java index 54fa19a..5ca8ec7 100644 --- a/src/main/java/org/telegram/api/objects/Audio.java +++ b/src/main/java/org/telegram/api/objects/Audio.java @@ -129,22 +129,6 @@ public class Audio implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(FILEID_FIELD, fileId); - gen.writeNumberField(DURATION_FIELD, duration); - if (mimeType != null) { - gen.writeStringField(MIMETYPE_FIELD, mimeType); - } - if (fileSize != null) { - gen.writeNumberField(FILESIZE_FIELD, fileSize); - } - if (title != null) { - gen.writeStringField(TITLE_FIELD, title); - } - if (performer != null) { - gen.writeStringField(PERFORMER_FIELD, performer); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Chat.java b/src/main/java/org/telegram/api/objects/Chat.java index c797a58..68acd0c 100644 --- a/src/main/java/org/telegram/api/objects/Chat.java +++ b/src/main/java/org/telegram/api/objects/Chat.java @@ -19,6 +19,7 @@ public class Chat implements BotApiObject { private static final String USERCHATTYPE = "private"; private static final String GROUPCHATTYPE = "group"; private static final String CHANNELCHATTYPE = "channel"; + private static final String SUPERGROUPCHATTYPE = "supergroup"; public static final String ID_FIELD = "id"; @JsonProperty(ID_FIELD) @@ -77,6 +78,10 @@ public class Chat implements BotApiObject { return USERCHATTYPE.equals(type); } + public Boolean isSuperGroupChat() { + return SUPERGROUPCHATTYPE.equals(type); + } + public String getTitle() { return title; } @@ -119,25 +124,6 @@ public class Chat implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeNumberField(ID_FIELD, id); - gen.writeStringField(TYPE_FIELD, type); - if (isUserChat()) { - if (firstName != null) { - gen.writeStringField(FIRSTNAME_FIELD, firstName); - } - if (lastName != null) { - gen.writeStringField(LASTNAME_FIELD, lastName); - } - } else { - if (title != null) { - gen.writeStringField(TITLE_FIELD, title); - } - } - if (!isGroupChat() && userName != null) { - gen.writeStringField(USERNAME_FIELD, userName); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Contact.java b/src/main/java/org/telegram/api/objects/Contact.java index 7c0b4d0..499fbbe 100644 --- a/src/main/java/org/telegram/api/objects/Contact.java +++ b/src/main/java/org/telegram/api/objects/Contact.java @@ -63,16 +63,6 @@ public class Contact implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(PHONENUMBER_FIELD, phoneNumber); - gen.writeStringField(FIRSTNAME_FIELD, firstName); - if (lastName != null) { - gen.writeStringField(LASTNAME_FIELD, lastName); - } - if (userID != null) { - gen.writeNumberField(USERID_FIELD, userID); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Document.java b/src/main/java/org/telegram/api/objects/Document.java index c6d0af1..e46242d 100644 --- a/src/main/java/org/telegram/api/objects/Document.java +++ b/src/main/java/org/telegram/api/objects/Document.java @@ -114,19 +114,6 @@ public class Document implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(FILEID_FIELD, fileId); - gen.writeObjectField(THUMB_FIELD, thumb); - if (fileName != null) { - gen.writeStringField(FILENAME_FIELD, fileName); - } - if (mimeType != null) { - gen.writeStringField(MIMETYPE_FIELD, mimeType); - } - if (fileSize != null) { - gen.writeNumberField(FILESIZE_FIELD, fileSize); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/File.java b/src/main/java/org/telegram/api/objects/File.java index 1f20cc1..1715aec 100644 --- a/src/main/java/org/telegram/api/objects/File.java +++ b/src/main/java/org/telegram/api/objects/File.java @@ -81,15 +81,6 @@ public class File implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(FILE_ID, fileId); - if (fileSize != null) { - gen.writeNumberField(FILE_SIZE_FIELD, fileSize); - } - if (filePath != null) { - gen.writeStringField(FILE_PATH_FIELD, filePath); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/ForceReplyKeyboard.java b/src/main/java/org/telegram/api/objects/ForceReplyKeyboard.java index d7c41e5..18ede01 100644 --- a/src/main/java/org/telegram/api/objects/ForceReplyKeyboard.java +++ b/src/main/java/org/telegram/api/objects/ForceReplyKeyboard.java @@ -89,10 +89,6 @@ public class ForceReplyKeyboard implements ReplyKeyboard { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeBooleanField(FORCEREPLY_FIELD, forceReply); - gen.writeBooleanField(SELECTIVE_FIELD, selective); - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Location.java b/src/main/java/org/telegram/api/objects/Location.java index bf1a63b..fae7c65 100644 --- a/src/main/java/org/telegram/api/objects/Location.java +++ b/src/main/java/org/telegram/api/objects/Location.java @@ -61,10 +61,6 @@ public class Location implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeNumberField(LONGITUDE_FIELD, longitude); - gen.writeNumberField(LATITUDE_FIELD, latitude); - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Message.java b/src/main/java/org/telegram/api/objects/Message.java index d3fc531..7bc1af8 100644 --- a/src/main/java/org/telegram/api/objects/Message.java +++ b/src/main/java/org/telegram/api/objects/Message.java @@ -85,6 +85,18 @@ public class Message implements BotApiObject { public static final String VOICE_FIELD = "voice"; @JsonProperty(VOICE_FIELD) private Voice voice; ///< Optional. Message is a voice message, information about the file + public static final String SUPERGROUPCREATED_FIELD = "supergroup_chat_created"; + @JsonProperty(SUPERGROUPCREATED_FIELD) + private Boolean superGroupCreated; ///< Optional. Informs that the supergroup has been created + public static final String CHANNELCHATCREATED_FIELD = "channel_chat_created"; + @JsonProperty(CHANNELCHATCREATED_FIELD) + private Boolean channelChatCreated; ///< Optional. Informs that the channel has been created + public static final String MIGRATETOCHAT_FIELD = "migrate_to_chat_id"; + @JsonProperty(MIGRATETOCHAT_FIELD) + private Long migrateToChatId; ///< Optional. The chat has been migrated to a chat with specified identifier, not exceeding 1e13 by absolute value + public static final String MIGRATEFROMCHAT_FIELD = "migrate_from_chat_id"; + @JsonProperty(MIGRATEFROMCHAT_FIELD) + private Long migrateFromChatId; ///< Optional. The chat has been migrated from a chat with specified identifier, not exceeding 1e13 by absolute value public Message() { super(); @@ -155,10 +167,22 @@ public class Message implements BotApiObject { } } if (jsonObject.has(DELETECHATPHOTO_FIELD)) { - this.deleteChatPhoto = jsonObject.getBoolean(DELETECHATPHOTO_FIELD); + this.deleteChatPhoto = true; } if (jsonObject.has(GROUPCHATCREATED_FIELD)) { - this.groupchatCreated = jsonObject.getBoolean(GROUPCHATCREATED_FIELD); + this.groupchatCreated = true; + } + if (jsonObject.has(SUPERGROUPCREATED_FIELD)) { + this.superGroupCreated = true; + } + if (jsonObject.has(CHANNELCHATCREATED_FIELD)) { + this.channelChatCreated = true; + } + if (jsonObject.has(MIGRATETOCHAT_FIELD)) { + this.migrateToChatId = jsonObject.getLong(MIGRATETOCHAT_FIELD); + } + if (jsonObject.has(MIGRATEFROMCHAT_FIELD)) { + this.migrateFromChatId = jsonObject.getLong(MIGRATEFROMCHAT_FIELD); } } @@ -198,6 +222,10 @@ public class Message implements BotApiObject { return chat.isChannelChat(); } + public boolean isSuperGroupMessage() { + return chat.isSuperGroupChat(); + } + public Long getChatId() { return chat.getId(); } @@ -374,6 +402,38 @@ public class Message implements BotApiObject { this.voice = voice; } + public Boolean getSuperGroupCreated() { + return superGroupCreated; + } + + public void setSuperGroupCreated(Boolean superGroupCreated) { + this.superGroupCreated = superGroupCreated; + } + + public Boolean getChannelChatCreated() { + return channelChatCreated; + } + + public void setChannelChatCreated(Boolean channelChatCreated) { + this.channelChatCreated = channelChatCreated; + } + + public Long getMigrateToChatId() { + return migrateToChatId; + } + + public void setMigrateToChatId(Long migrateToChatId) { + this.migrateToChatId = migrateToChatId; + } + + public Long getMigrateFromChatId() { + return migrateFromChatId; + } + + public void setMigrateFromChatId(Long migrateFromChatId) { + this.migrateFromChatId = migrateFromChatId; + } + @Override public void serialize(JsonGenerator gen, SerializerProvider serializers) throws IOException { gen.writeStartObject(); @@ -445,76 +505,24 @@ public class Message implements BotApiObject { if (groupchatCreated != null) { gen.writeBooleanField(GROUPCHATCREATED_FIELD, groupchatCreated); } - gen.writeEndObject(); - gen.flush(); - } - - @Override - public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - if (forwardFrom != null) { - gen.writeObjectField(FORWARDFROM_FIELD, forwardFrom); + if (superGroupCreated != null) { + gen.writeBooleanField(SUPERGROUPCREATED_FIELD, superGroupCreated); } - if (forwardDate != null) { - gen.writeNumberField(FORWARDDATE_FIELD, forwardDate); - } - if (text != null) { - gen.writeStringField(TEXT_FIELD, text); + if (channelChatCreated != null) { + gen.writeBooleanField(CHANNELCHATCREATED_FIELD, channelChatCreated); } - if (audio != null) { - gen.writeObjectField(AUDIO_FIELD, audio); + if (migrateToChatId != null) { + gen.writeNumberField(MIGRATETOCHAT_FIELD, migrateToChatId); } - if (document != null) { - gen.writeObjectField(DOCUMENT_FIELD, document); - } - if (photo != null && photo.size() > 0) { - gen.writeArrayFieldStart(PHOTO_FIELD); - for (PhotoSize photoSize : photo) { - gen.writeObject(photoSize); - } - gen.writeEndArray(); - } - if (sticker != null) { - gen.writeObjectField(STICKER_FIELD, sticker); - } - if (video != null) { - gen.writeObjectField(VIDEO_FIELD, video); - } - if (contact != null) { - gen.writeObjectField(CONTACT_FIELD, contact); - } - if (location != null) { - gen.writeObjectField(LOCATION_FIELD, location); - } - if (voice != null) { - gen.writeObjectField(VOICE_FIELD, voice); - } - if (newChatParticipant != null) { - gen.writeObjectField(NEWCHATPARTICIPANT_FIELD, newChatParticipant); - } - if (leftChatParticipant != null) { - gen.writeObjectField(LEFTCHATPARTICIPANT_FIELD, leftChatParticipant); - } - if (replyToMessage != null) { - gen.writeObjectField(REPLYTOMESSAGE_FIELD, replyToMessage); - } - if (newChatTitle != null) { - gen.writeStringField(NEWCHATTITLE_FIELD, newChatTitle); - } - if (newChatPhoto != null && newChatPhoto.size() > 0) { - gen.writeArrayFieldStart(NEWCHATPHOTO_FIELD); - for (PhotoSize photoSize: newChatPhoto) { - gen.writeObject(photoSize); - } - gen.writeEndArray(); - } - if (deleteChatPhoto != null) { - gen.writeBooleanField(DELETECHATPHOTO_FIELD, deleteChatPhoto); - } - if (groupchatCreated != null) { - gen.writeBooleanField(GROUPCHATCREATED_FIELD, groupchatCreated); + if (migrateFromChatId != null) { + gen.writeNumberField(MIGRATEFROMCHAT_FIELD, migrateFromChatId); } gen.writeEndObject(); gen.flush(); + } + @Override + public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/PhotoSize.java b/src/main/java/org/telegram/api/objects/PhotoSize.java index 888616e..5ade74d 100644 --- a/src/main/java/org/telegram/api/objects/PhotoSize.java +++ b/src/main/java/org/telegram/api/objects/PhotoSize.java @@ -91,14 +91,6 @@ public class PhotoSize implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(FILEID_FIELD, fileId); - gen.writeNumberField(WIDTH_FIELD, width); - gen.writeNumberField(HEIGHT_FIELD, height); - if (fileSize != null) { - gen.writeNumberField(FILESIZE_FIELD, fileSize); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/ReplyKeyboardHide.java b/src/main/java/org/telegram/api/objects/ReplyKeyboardHide.java index 0f40d43..c6527a6 100644 --- a/src/main/java/org/telegram/api/objects/ReplyKeyboardHide.java +++ b/src/main/java/org/telegram/api/objects/ReplyKeyboardHide.java @@ -83,10 +83,6 @@ public class ReplyKeyboardHide implements ReplyKeyboard { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeBooleanField(HIDEKEYBOARD_FIELD, hideKeyboard); - gen.writeBooleanField(SELECTIVE_FIELD, selective); - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/ReplyKeyboardMarkup.java b/src/main/java/org/telegram/api/objects/ReplyKeyboardMarkup.java index eaaa2ed..c320af3 100644 --- a/src/main/java/org/telegram/api/objects/ReplyKeyboardMarkup.java +++ b/src/main/java/org/telegram/api/objects/ReplyKeyboardMarkup.java @@ -151,26 +151,6 @@ public class ReplyKeyboardMarkup implements ReplyKeyboard { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeArrayFieldStart(KEYBOARD_FIELD); - for (List innerRow : keyboard) { - gen.writeStartArray(); - for (String element: innerRow) { - gen.writeString(element); - } - gen.writeEndArray(); - } - gen.writeEndArray(); - if (this.oneTimeKeyboad != null) { - gen.writeBooleanField(ONETIMEKEYBOARD_FIELD, oneTimeKeyboad); - } - if (this.resizeKeyboard != null) { - gen.writeBooleanField(RESIZEKEYBOARD_FIELD, resizeKeyboard); - } - if (this.selective != null) { - gen.writeBooleanField(SELECTIVE_FIELD, selective); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Sticker.java b/src/main/java/org/telegram/api/objects/Sticker.java index 01860ef..d9c700f 100644 --- a/src/main/java/org/telegram/api/objects/Sticker.java +++ b/src/main/java/org/telegram/api/objects/Sticker.java @@ -68,17 +68,6 @@ public class Sticker implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(FILEID_FIELD, fileId); - gen.writeNumberField(WIDTH_FIELD, width); - gen.writeNumberField(HEIGHT_FIELD, height); - if (thumb != null) { - gen.writeObjectField(THUMB_FIELD, thumb); - } - if (fileSize != null) { - gen.writeNumberField(FILESIZE_FIELD, fileSize); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Update.java b/src/main/java/org/telegram/api/objects/Update.java index 69d297d..f82a2e4 100644 --- a/src/main/java/org/telegram/api/objects/Update.java +++ b/src/main/java/org/telegram/api/objects/Update.java @@ -63,12 +63,6 @@ public class Update implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeNumberField(UPDATEID_FIELD, updateId); - if (message != null) { - gen.writeObjectField(MESSAGE_FIELD, message); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/User.java b/src/main/java/org/telegram/api/objects/User.java index a767af6..5ccaf22 100644 --- a/src/main/java/org/telegram/api/objects/User.java +++ b/src/main/java/org/telegram/api/objects/User.java @@ -79,16 +79,6 @@ public class User implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeNumberField(ID_FIELD, id); - gen.writeStringField(FIRSTNAME_FIELD, firstName); - if (lastName != null) { - gen.writeStringField(LASTNAME_FIELD, lastName); - } - if (userName != null) { - gen.writeStringField(USERNAME_FIELD, userName); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/UserProfilePhotos.java b/src/main/java/org/telegram/api/objects/UserProfilePhotos.java index 962e631..23ace48 100644 --- a/src/main/java/org/telegram/api/objects/UserProfilePhotos.java +++ b/src/main/java/org/telegram/api/objects/UserProfilePhotos.java @@ -85,20 +85,6 @@ public class UserProfilePhotos implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeNumberField(TOTALCOUNT_FIELD, totalCount); - if (totalCount > 0) { - gen.writeArrayFieldStart(PHOTOS_FIELD); - for (List photoSizeList : photos) { - gen.writeStartArray(); - for (PhotoSize photoSize: photoSizeList) { - gen.writeObject(photoSize); - } - gen.writeEndArray(); - } - gen.writeEndArray(); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Video.java b/src/main/java/org/telegram/api/objects/Video.java index dbd0f06..b5be814 100644 --- a/src/main/java/org/telegram/api/objects/Video.java +++ b/src/main/java/org/telegram/api/objects/Video.java @@ -137,21 +137,6 @@ public class Video implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(FILEID_FIELD, fileId); - gen.writeNumberField(WIDTH_FIELD, width); - gen.writeNumberField(HEIGHT_FIELD, height); - gen.writeNumberField(DURATION_FIELD, duration); - if (thumb != null) { - gen.writeObjectField(THUMB_FIELD, thumb); - } - if (mimeType != null) { - gen.writeStringField(MIMETYPE_FIELD, mimeType); - } - if (fileSize != null) { - gen.writeNumberField(FILESIZE_FIELD, fileSize); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } } diff --git a/src/main/java/org/telegram/api/objects/Voice.java b/src/main/java/org/telegram/api/objects/Voice.java index ea01d3d..06fc9fb 100644 --- a/src/main/java/org/telegram/api/objects/Voice.java +++ b/src/main/java/org/telegram/api/objects/Voice.java @@ -94,16 +94,6 @@ public class Voice implements BotApiObject { @Override public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - gen.writeStartObject(); - gen.writeStringField(FILEID_FIELD, fileId); - gen.writeNumberField(DURATION_FIELD, duration); - if (mimeType != null) { - gen.writeStringField(MIMETYPE_FIELD, mimeType); - } - if (fileSize != null) { - gen.writeNumberField(FILESIZE_FIELD, fileSize); - } - gen.writeEndObject(); - gen.flush(); + serialize(gen, serializers); } }