Skip to contentMethod: getStrategyFactories()
      1: package de.fhdw.gaming.ipspiel23.ht.strategy.factory;
2: 
3: import java.util.List;
4: import java.util.ServiceLoader;
5: import java.util.stream.Collectors;
6: 
7: import de.fhdw.gaming.ipspiel23.ht.strategy.IHTStrategyFactory;
8: 
9: /**
10:  * Provides a list of {@link IHTStrategyFactory} instances.
11:  */
12: public final class HTDefaultStrategyFactoryProvider implements IHTStrategyFactoryProvider {
13: 
14:     @Override
15:     public List<IHTStrategyFactory> getStrategyFactories() {
16:         // probably does some reflection magic to load implementing classes
17:         return ServiceLoader.load(IHTStrategyFactory.class)
18:             .stream()
19:             .map(provider -> provider.get())
20:             .collect(Collectors.toList());
21:     }
22: }