TaskUseCases.java
package com.guinetik.hexafun.examples.tasks;
import com.guinetik.hexafun.fun.Result;
import com.guinetik.hexafun.hexa.UseCaseKey;
import java.util.List;
import static com.guinetik.hexafun.examples.tasks.TaskInputs.*;
/**
* Type-safe use case keys for task operations.
*/
public interface TaskUseCases {
UseCaseKey<CreateTask, Result<Task>> CREATE =
UseCaseKey.of("createTask");
UseCaseKey<StartTask, Result<Task>> START =
UseCaseKey.of("startTask");
UseCaseKey<CompleteTask, Result<Task>> COMPLETE =
UseCaseKey.of("completeTask");
UseCaseKey<UpdateTask, Result<Task>> UPDATE =
UseCaseKey.of("updateTask");
UseCaseKey<DeleteTask, Result<Boolean>> DELETE =
UseCaseKey.of("deleteTask");
UseCaseKey<FindTask, Result<Task>> FIND =
UseCaseKey.of("findTask");
UseCaseKey<Void, List<Task>> LIST =
UseCaseKey.of("listTasks");
}