View Javadoc
1   package com.guinetik.hexafun.examples.counter;
2   
3   import com.guinetik.hexafun.fun.Result;
4   import com.guinetik.hexafun.hexa.UseCaseKey;
5   import com.guinetik.hexafun.examples.counter.CounterInputs.*;
6   
7   /**
8    * Type-safe use case keys for counter operations.
9    *
10   * <p>Define all use case signatures in one place.
11   * Provides compile-time type safety for invocation.
12   */
13  public interface CounterUseCases {
14  
15      UseCaseKey<IncrementInput, Result<Counter>> INCREMENT =
16              UseCaseKey.of("increment");
17  
18      UseCaseKey<DecrementInput, Result<Counter>> DECREMENT =
19              UseCaseKey.of("decrement");
20  
21      UseCaseKey<AddInput, Result<Counter>> ADD =
22              UseCaseKey.of("add");
23  }