1 package net.mograsim.logic.model.modeladapter;
3 public class CoreModelParameters
5 public final int wireTravelTime;
6 public final int gateProcessTime;
7 public final int hardcodedComponentProcessTime;
9 public CoreModelParameters(int wireTravelTime, int gateProcessTime, int hardcodedComponentProcessTime)
11 this.wireTravelTime = wireTravelTime;
12 this.gateProcessTime = gateProcessTime;
13 this.hardcodedComponentProcessTime = hardcodedComponentProcessTime;
16 private CoreModelParameters(CoreModelParametersBuilder builder)
18 this.wireTravelTime = builder.wireTravelTime;
19 this.gateProcessTime = builder.gateProcessTime;
20 this.hardcodedComponentProcessTime = builder.hardcodedComponentProcessTime;
23 public static class CoreModelParametersBuilder
25 public int wireTravelTime;
26 public int gateProcessTime;
27 public int hardcodedComponentProcessTime;
29 public CoreModelParametersBuilder wireTravelTime(int wireTravelTime)
31 this.wireTravelTime = wireTravelTime;
35 public CoreModelParametersBuilder gateProcessTime(int gateProcessTime)
37 this.gateProcessTime = gateProcessTime;
41 public CoreModelParametersBuilder hardcodedComponentProcessTime(int hardcodedComponentProcessTime)
43 this.hardcodedComponentProcessTime = hardcodedComponentProcessTime;
47 public CoreModelParameters build()
49 return new CoreModelParameters(this);