TaskValidators.java
package com.guinetik.hexafun.examples.tasks;
import com.guinetik.hexafun.fun.Result;
import static com.guinetik.hexafun.examples.tasks.TaskInputs.*;
/**
* Validation functions for task inputs.
*/
public class TaskValidators {
// --- CreateTask validators ---
public static Result<CreateTask> validateCreateTitle(CreateTask input) {
if (input.title() == null || input.title().isBlank()) {
return Result.fail("Title cannot be empty");
}
return Result.ok(input);
}
public static Result<CreateTask> validateCreateTitleLength(CreateTask input) {
if (input.title().length() > 100) {
return Result.fail("Title cannot exceed 100 characters");
}
return Result.ok(input);
}
// --- StartTask validators ---
public static Result<StartTask> validateStartTaskId(StartTask input) {
if (input.taskId() == null || input.taskId().isBlank()) {
return Result.fail("Task ID cannot be empty");
}
return Result.ok(input);
}
// --- CompleteTask validators ---
public static Result<CompleteTask> validateCompleteTaskId(CompleteTask input) {
if (input.taskId() == null || input.taskId().isBlank()) {
return Result.fail("Task ID cannot be empty");
}
return Result.ok(input);
}
// --- UpdateTask validators ---
public static Result<UpdateTask> validateUpdateTaskId(UpdateTask input) {
if (input.taskId() == null || input.taskId().isBlank()) {
return Result.fail("Task ID cannot be empty");
}
return Result.ok(input);
}
public static Result<UpdateTask> validateUpdateTitle(UpdateTask input) {
if (input.title() == null || input.title().isBlank()) {
return Result.fail("Title cannot be empty");
}
return Result.ok(input);
}
// --- DeleteTask validators ---
public static Result<DeleteTask> validateDeleteTaskId(DeleteTask input) {
if (input.taskId() == null || input.taskId().isBlank()) {
return Result.fail("Task ID cannot be empty");
}
return Result.ok(input);
}
// --- FindTask validators ---
public static Result<FindTask> validateFindTaskId(FindTask input) {
if (input.taskId() == null || input.taskId().isBlank()) {
return Result.fail("Task ID cannot be empty");
}
return Result.ok(input);
}
}