View Javadoc
1   package org.kuali.common.devops.jenkins.archive.model;
2   
3   import org.kuali.common.core.base.TimedInterval;
4   import org.kuali.common.core.build.ValidatingBuilder;
5   import org.kuali.common.core.validate.annotation.IdiotProofImmutable;
6   
7   import com.google.common.base.Stopwatch;
8   
9   @IdiotProofImmutable
10  public final class ArchiveBuildsResult {
11  
12  	private final JenkinsMaster master;
13  	private final TimedInterval timing;
14  
15  	private ArchiveBuildsResult(Builder builder) {
16  		this.master = builder.master;
17  		this.timing = builder.timing;
18  	}
19  
20  	public static Builder builder() {
21  		return new Builder();
22  	}
23  
24  	public static class Builder extends ValidatingBuilder<ArchiveBuildsResult> {
25  
26  		private JenkinsMaster master;
27  		private TimedInterval timing;
28  
29  		public Builder withMaster(JenkinsMaster master) {
30  			this.master = master;
31  			return this;
32  		}
33  
34  		public Builder withTiming(TimedInterval timing) {
35  			this.timing = timing;
36  			return this;
37  		}
38  
39  		public Builder time(Stopwatch sw) {
40  			return withTiming(TimedInterval.build(sw));
41  		}
42  
43  		@Override
44  		public ArchiveBuildsResult build() {
45  			return validate(new ArchiveBuildsResult(this));
46  		}
47  	}
48  
49  	public TimedInterval getTiming() {
50  		return timing;
51  	}
52  
53  	public JenkinsMaster getMaster() {
54  		return master;
55  	}
56  
57  }