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 CoreModelParametersBuilder builder()
25 return new CoreModelParametersBuilder();
28 public static class CoreModelParametersBuilder
30 public int wireTravelTime;
31 public int gateProcessTime;
32 public int hardcodedComponentProcessTime;
34 private CoreModelParametersBuilder()
38 public CoreModelParametersBuilder wireTravelTime(int wireTravelTime)
40 this.wireTravelTime = wireTravelTime;
44 public CoreModelParametersBuilder gateProcessTime(int gateProcessTime)
46 this.gateProcessTime = gateProcessTime;
50 public CoreModelParametersBuilder hardcodedComponentProcessTime(int hardcodedComponentProcessTime)
52 this.hardcodedComponentProcessTime = hardcodedComponentProcessTime;
56 public CoreModelParameters build()
58 return new CoreModelParameters(this);