Skip to content

Commit eed98af

Browse files
authored
Merge pull request #422 from pengrad/issue-419
Rewrite all AbstractSendRequest & AbstractMultipartRequest requests to Kotlin
2 parents dd3d5a6 + 741796d commit eed98af

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2247
-913
lines changed

library/src/main/java/com/pengrad/telegrambot/request/AbstractMultipartRequest.java

-69
This file was deleted.

library/src/main/java/com/pengrad/telegrambot/request/KAbstractMultipartRequest.kt renamed to library/src/main/java/com/pengrad/telegrambot/request/AbstractMultipartRequest.kt

+4-13
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package com.pengrad.telegrambot.request
33
import com.pengrad.telegrambot.utility.kotlin.optionalRequestParameter
44
import java.io.File
55

6-
abstract class KAbstractMultipartRequest<REQ : KAbstractMultipartRequest<REQ>>(
6+
abstract class AbstractMultipartRequest<REQ : AbstractMultipartRequest<REQ>>(
77
chatId: Long?,
88
channelUsername: String?,
99

@@ -14,7 +14,7 @@ abstract class KAbstractMultipartRequest<REQ : KAbstractMultipartRequest<REQ>>(
1414

1515
defaultFileName: String,
1616
defaultContentType: String
17-
) : KAbstractSendRequest<REQ>(
17+
) : AbstractSendRequest<REQ>(
1818
chatId = chatId,
1919
channelUsername = channelUsername
2020
) {
@@ -23,29 +23,20 @@ abstract class KAbstractMultipartRequest<REQ : KAbstractMultipartRequest<REQ>>(
2323
val contentFile by optionalRequestParameter(contentFile, customParameterName = contentParameterName)
2424
val contentBytes by optionalRequestParameter(contentBytes, customParameterName = contentParameterName)
2525

26-
var thumbnailFile: File? by optionalRequestParameter(customParameterName = "thumbnail")
27-
var thumbnailBytes: ByteArray? by optionalRequestParameter(customParameterName = "thumbnail")
28-
29-
@get:JvmName("isUseMultipart")
30-
val isMultipart: Boolean
26+
open val isMultipartRequest: Boolean
3127
get() = contentFile != null || contentBytes != null
32-
|| thumbnailFile != null || thumbnailBytes != null
3328

3429
@get:JvmName("getContentFileName")
3530
var fileName: String = contentFile?.name ?: defaultFileName
3631

3732
@get:JvmName("getContentMimeType")
3833
var contentType: String = defaultContentType
3934

40-
fun thumbnail(thumbnail: File) = applySelf { this.thumbnailFile = thumbnail }
41-
42-
fun thumbnail(thumbnail: ByteArray) = applySelf { this.thumbnailBytes = thumbnail }
43-
4435
fun fileName(fileName: String) = applySelf { this.fileName = fileName }
4536

4637
fun contentType(contentType: String) = applySelf { this.contentType = contentType }
4738

48-
override fun isMultipart() = isMultipart
39+
override fun isMultipart() = isMultipartRequest
4940

5041
override fun getFileName() = fileName
5142

library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.java

-50
This file was deleted.

library/src/main/java/com/pengrad/telegrambot/request/KAbstractSendRequest.kt renamed to library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.pengrad.telegrambot.model.request.ReplyParameters
55
import com.pengrad.telegrambot.response.SendResponse
66
import com.pengrad.telegrambot.utility.kotlin.optionalRequestParameter
77

8-
abstract class KAbstractSendRequest<REQ : KAbstractSendRequest<REQ>>(
8+
abstract class AbstractSendRequest<REQ : AbstractSendRequest<REQ>>(
99
chatId: Long?,
1010
channelUsername: String?
1111
) : KBaseRequest<REQ, SendResponse>(SendResponse::class) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.pengrad.telegrambot.request
2+
3+
import com.pengrad.telegrambot.utility.kotlin.optionalRequestParameter
4+
import java.io.File
5+
6+
abstract class AbstractThumbnailedMultipartRequest<REQ : AbstractThumbnailedMultipartRequest<REQ>>(
7+
chatId: Long?,
8+
channelUsername: String?,
9+
10+
contentParameterName: String,
11+
contentUrl: String?,
12+
contentFile: File?,
13+
contentBytes: ByteArray?,
14+
15+
defaultFileName: String,
16+
defaultContentType: String
17+
) : AbstractMultipartRequest<REQ>(
18+
chatId = chatId,
19+
channelUsername = channelUsername,
20+
21+
contentParameterName = contentParameterName,
22+
contentUrl = contentUrl,
23+
contentFile = contentFile,
24+
contentBytes = contentBytes,
25+
26+
defaultFileName = defaultFileName,
27+
defaultContentType = defaultContentType
28+
) {
29+
30+
var thumbnailFile: File? by optionalRequestParameter(customParameterName = "thumbnail")
31+
var thumbnailBytes: ByteArray? by optionalRequestParameter(customParameterName = "thumbnail")
32+
33+
override val isMultipartRequest: Boolean
34+
get() = super.isMultipartRequest
35+
|| thumbnailFile != null || thumbnailBytes != null
36+
37+
fun thumbnail(thumbnail: File) = applySelf { this.thumbnailFile = thumbnail }
38+
39+
fun thumbnail(thumbnail: ByteArray) = applySelf { this.thumbnailBytes = thumbnail }
40+
41+
}

library/src/main/java/com/pengrad/telegrambot/request/SendAnimation.java

-80
This file was deleted.

0 commit comments

Comments
 (0)