Coverage Summary for Class: GeneratorActionProviderImpl (ru.eda.plgn.bizgen.plugin.actions)
| Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| GeneratorActionProviderImpl |
75%
(3/4)
|
|
85.7%
(6/7)
|
88.9%
(24/27)
|
| GeneratorActionProviderImpl$Companion |
100%
(1/1)
|
|
100%
(1/1)
|
100%
(16/16)
|
| GeneratorActionProviderImpl$Companion$toBaseGeneratorAction$1 |
100%
(1/1)
|
|
100%
(1/1)
|
100%
(5/5)
|
| Total |
83.3%
(5/6)
|
|
88.9%
(8/9)
|
93.8%
(45/48)
|
package ru.eda.plgn.bizgen.plugin.actions
import ru.eda.plgn.bizgen.core.generator_info.GeneratorInfo
import ru.eda.plgn.bizgen.core.generator_info.GeneratorInfoProvider
import ru.eda.plgn.bizgen.plugin.di.BizGenService
/**
* Провайдер действий.
*
* @author Dmitry_Emelyanenko
*/
interface GeneratorActionProvider : BizGenService {
/**
* Получение всех описаний генераторов.
*
* @return перечень описаний генераторов
*/
fun getInfos(): List<GeneratorInfo<*>>
/**
* Получение всех действия для применения.
*
* @return перечень действия для применения
*/
fun getAnActions(): List<GeneratorAnAction>
/**
* Получение общего количества зарегистрированных действий.
*
* @return количество зарегистрированных действий в провайдере
*/
fun actionCount(): Int
}
/** Реализация [GeneratorActionProvider]. */
class GeneratorActionProviderImpl : GeneratorActionProvider {
private val infos: List<GeneratorInfo<*>> = GeneratorInfoProvider.generatorInfos
private val actions: List<BaseGeneratorAction<*>> = infos
.map { it.toBaseGeneratorAction() }
override fun getInfos(): List<GeneratorInfo<*>> {
return infos
}
override fun getAnActions(): List<GeneratorAnAction> {
return actions
}
override fun actionCount(): Int {
return actions.size
}
private companion object {
fun <T : Any> GeneratorInfo<T>.toBaseGeneratorAction(): BaseGeneratorAction<T> {
return object : BaseGeneratorAction<T>(id, name, generator) {}
}
}
}