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.fasterxml.jackson.databind.annotation.JsonDeserialize;
11  import com.google.common.collect.ImmutableList;
12  
13  @IdiotProofImmutable
14  @JsonDeserialize(builder = S3ObjectPairWrapper.Builder.class)
15  public final class S3ObjectPairWrapper {
16  
17  	private final ImmutableList<S3ObjectPair> pairs;
18  
19  	private S3ObjectPairWrapper(Builder builder) {
20  		this.pairs = ImmutableList.copyOf(builder.pairs);
21  	}
22  
23  	public static S3ObjectPairWrapper build(Iterable<S3ObjectPair> pairs) {
24  		return builder().withPairs(newArrayList(pairs)).build();
25  	}
26  
27  	public static Builder builder() {
28  		return new Builder();
29  	}
30  
31  	public static class Builder extends ValidatingBuilder<S3ObjectPairWrapper> {
32  
33  		private List<S3ObjectPair> pairs;
34  
35  		public Builder withPairs(List<S3ObjectPair> pairs) {
36  			this.pairs = pairs;
37  			return this;
38  		}
39  
40  		@Override
41  		public S3ObjectPairWrapper build() {
42  			return validate(new S3ObjectPairWrapper(this));
43  		}
44  	}
45  
46  	public List<S3ObjectPair> getPairs() {
47  		return pairs;
48  	}
49  
50  }