FileBlock.java

  1. /**
  2.  * Copyright (c) 2018 European Organisation for Nuclear Research (CERN), All Rights Reserved.
  3.  */

  4. package cern.accsoft.steering.jmad.tools.modeldefs.creating.lang;

  5. import static java.util.Objects.requireNonNull;

  6. import java.util.Collection;

  7. public class FileBlock {

  8.     private final Collection<ModelFileBuilder> builders;

  9.     public FileBlock(Collection<ModelFileBuilder> builders) {
  10.         this.builders = requireNonNull(builders, "builder collection must not be null");
  11.     }

  12.     public OngoingCall call(String fileName) {
  13.         CallableModelFileBuilder builder = CallableModelFileBuilder.of(fileName);
  14.         builders.add(builder);
  15.         return new OngoingCall(builder);
  16.     }

  17.     public OngoingLoadTable load(String fileName) {
  18.         TableModelFileBuilder builder = new TableModelFileBuilder(fileName);
  19.         builders.add(builder);
  20.         return new OngoingLoadTable(builder);
  21.     }

  22. }