View Javadoc
1   package org.kuali.common.devops.archive.sweep.jenkins.s3;
2   
3   import static com.google.common.collect.Lists.newArrayList;
4   
5   import java.util.List;
6   
7   import org.kuali.common.core.build.ValidatingBuilder;
8   import org.kuali.common.core.validate.annotation.IdiotProofImmutable;
9   
10  import com.google.common.collect.ImmutableList;
11  
12  @IdiotProofImmutable
13  public final class JenkinsS3Build {
14  
15  	private final long start;
16  	private final S3ObjectPair pair;
17  	private final ImmutableList<S3ObjectPair> files;
18  
19  	private JenkinsS3Build(Builder builder) {
20  		this.start = builder.start;
21  		this.pair = builder.pair;
22  		this.files = ImmutableList.copyOf(builder.files);
23  	}
24  
25  	public static Builder builder() {
26  		return new Builder();
27  	}
28  
29  	public static class Builder extends ValidatingBuilder<JenkinsS3Build> {
30  
31  		private long start;
32  		private S3ObjectPair pair;
33  		private List<S3ObjectPair> files = newArrayList();
34  
35  		public Builder withStart(long start) {
36  			this.start = start;
37  			return this;
38  		}
39  
40  		public Builder withPair(S3ObjectPair pair) {
41  			this.pair = pair;
42  			return this;
43  		}
44  
45  		public Builder withFiles(List<S3ObjectPair> files) {
46  			this.files = files;
47  			return this;
48  		}
49  
50  		@Override
51  		public JenkinsS3Build build() {
52  			return validate(new JenkinsS3Build(this));
53  		}
54  	}
55  
56  	public long getStart() {
57  		return start;
58  	}
59  
60  	public S3ObjectPair getPair() {
61  		return pair;
62  	}
63  
64  	public ImmutableList<S3ObjectPair> getFiles() {
65  		return files;
66  	}
67  
68  }