
com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.config.RatingAnalyzeCleanDBSettings.kt Maven / Gradle / Ivy
package com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.config
import com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.cleaners.ClearByKeepTime
import com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.database.CountOfRatedPostsTable
import com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.database.RatingsChangesTable
import com.github.insanusmokrassar.AutoPostRatingsAnalyzePlugin.tasks.*
import java.util.concurrent.TimeUnit
data class RatingAnalyzeCleanDBSettings(
val delay: Long? = null,
val dayTime: String? = null,
val keepRecordsTime: Long = TimeUnit.DAYS.toMillis(30)
) {
fun buildTasks(
ratingsChangesTable: RatingsChangesTable,
countOfRatedPostsTable: CountOfRatedPostsTable
): List {
val clearByKeepTime: ClearByKeepTime by lazy {
ClearByKeepTime(
keepRecordsTime,
ratingsChangesTable,
countOfRatedPostsTable
)
}
return listOfNotNull(
delay ?.let {
DelayTask(
it,
clearByKeepTime
)
},
dayTime ?.let {
TimeTask(
it,
clearByKeepTime
)
}
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy