View Javadoc
1   package org.kuali.common.devops.jenkins.scan;
2   
3   import java.util.List;
4   
5   import org.kuali.common.core.build.ValidatingBuilder;
6   import org.kuali.common.core.validate.annotation.IdiotProofImmutable;
7   
8   import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
9   import com.google.common.collect.ImmutableList;
10  
11  @IdiotProofImmutable
12  @JsonDeserialize(builder = JobDurationStatistics.Builder.class)
13  public final class JobDurationStatistics {
14  
15  	private final String name;
16  	private final ImmutableList<Long> values;
17  	private final SummaryStatistics summary;
18  
19  	private JobDurationStatistics(Builder builder) {
20  		this.name = builder.name;
21  		this.values = ImmutableList.copyOf(builder.values);
22  		this.summary = builder.summary;
23  	}
24  
25  	public static Builder builder() {
26  		return new Builder();
27  	}
28  
29  	public static class Builder extends ValidatingBuilder<JobDurationStatistics> {
30  
31  		private String name;
32  		private List<Long> values;
33  		private SummaryStatistics summary;
34  
35  		public Builder withName(String name) {
36  			this.name = name;
37  			return this;
38  		}
39  
40  		public Builder withValues(List<Long> values) {
41  			this.values = values;
42  			return this;
43  		}
44  
45  		public Builder withSummary(SummaryStatistics summary) {
46  			this.summary = summary;
47  			return this;
48  		}
49  
50  		@Override
51  		public JobDurationStatistics build() {
52  			return validate(new JobDurationStatistics(this));
53  		}
54  	}
55  
56  	public String getName() {
57  		return name;
58  	}
59  
60  	public List<Long> getValues() {
61  		return values;
62  	}
63  
64  	public SummaryStatistics getSummary() {
65  		return summary;
66  	}
67  
68  }