Пример #1
0
 public int calc(final String operator, final int... values) {
   final OperationPlugin operationPlugin = operationDispatcher.get(operator);
   if (operationPlugin == null) {
     throw new IllegalArgumentException("no operation found for operator " + operator);
   }
   return operationPlugin.calc(values);
 }
Пример #2
0
 @Inject
 public Calculator6(final List<OperationPlugin> operationPlugins) {
   operationDispatcher = new HashMap<>();
   for (final OperationPlugin operationPlugin : operationPlugins) {
     operationDispatcher.put(operationPlugin.getOperator(), operationPlugin);
   }
 }