All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.dakusui.scriptiveunit.model.statement.Arguments Maven / Gradle / Ivy

package com.github.dakusui.scriptiveunit.model.statement;

import com.github.dakusui.scriptiveunit.model.func.Func;

import java.util.Iterator;

public interface Arguments extends Iterable {
  static Arguments create(Statement.Factory statementFactory, Iterable args) {
    return () -> new Iterator() {
      Iterator i = args.iterator();

      @Override
      public boolean hasNext() {
        return i.hasNext();
      }

      @Override
      public Statement next() {
        return statementFactory.create(i.next());
      }
    };
  }

  class Factory {
    private final Statement.Factory statementFactory;

    public Factory(Statement.Factory statementFactory) {
      this.statementFactory = statementFactory;
    }

    public Arguments create(Iterable args) {
      return Arguments.create(statementFactory, args);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy