Files
Lab7-Prog/server/src/main/kotlin/commands/Command.kt
T
2026-05-09 22:39:06 +03:00

25 lines
828 B
Kotlin

package commands
import models.HumanBeing
import network.Response
/**
* Базовый интерфейс команды.
*
* Теперь execute() возвращает String — результат для отправки клиенту.
* Зависимость от IOManager полностью убрана из команд.
*/
interface Command {
val name: String
val description: String
val type : CommandType
val args : List<CommandArgType>
/**
* @param args строковые аргументы (UUID и т.п.)
* @param humanBeing объект из запроса — только для add/update/add_if_max/add_if_min
* @return строка-результат для клиента
*/
fun execute(args: List<String>, humanBeing: HumanBeing? = null): Response
}