CounterUseCases.java
package com.guinetik.hexafun.examples.counter;
import com.guinetik.hexafun.fun.Result;
import com.guinetik.hexafun.hexa.UseCaseKey;
import com.guinetik.hexafun.examples.counter.CounterInputs.*;
/**
* Type-safe use case keys for counter operations.
*
* <p>Define all use case signatures in one place.
* Provides compile-time type safety for invocation.
*/
public interface CounterUseCases {
UseCaseKey<IncrementInput, Result<Counter>> INCREMENT =
UseCaseKey.of("increment");
UseCaseKey<DecrementInput, Result<Counter>> DECREMENT =
UseCaseKey.of("decrement");
UseCaseKey<AddInput, Result<Counter>> ADD =
UseCaseKey.of("add");
}