1 package com.guinetik.hexafun.hexa;
2
3 import com.guinetik.hexafun.fun.Result;
4
5 /**
6 * Port for validating input data before processing by a use case.
7 * @param <I> Input type to validate
8 */
9 @FunctionalInterface
10 public interface ValidationPort<I> {
11 /**
12 * Validate input data and return a result.
13 * @param input The input to validate
14 * @return A Result containing either the validated input or an error
15 */
16 Result<I> validate(I input);
17 }