View Javadoc
1   package org.kuali.common.devops.archive.sweep.jenkins.s3;
2   
3   import org.kuali.common.aws.s3.model.ObjectMetadata;
4   import org.kuali.common.aws.s3.model.ObjectSummary;
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   
10  @IdiotProofImmutable
11  @JsonDeserialize(builder = S3ObjectPair.Builder.class)
12  public final class S3ObjectPair {
13  
14  	private final ObjectSummary summary;
15  	private final ObjectMetadata metadata;
16  
17  	private S3ObjectPair(Builder builder) {
18  		this.summary = builder.summary;
19  		this.metadata = builder.metadata;
20  	}
21  
22  	public static Builder builder() {
23  		return new Builder();
24  	}
25  
26  	public static class Builder extends ValidatingBuilder<S3ObjectPair> {
27  
28  		private ObjectSummary summary;
29  		private ObjectMetadata metadata;
30  
31  		public Builder withSummary(ObjectSummary summary) {
32  			this.summary = summary;
33  			return this;
34  		}
35  
36  		public Builder withMetadata(ObjectMetadata metadata) {
37  			this.metadata = metadata;
38  			return this;
39  		}
40  
41  		@Override
42  		public S3ObjectPair build() {
43  			return validate(new S3ObjectPair(this));
44  		}
45  	}
46  
47  	public ObjectSummary getSummary() {
48  		return summary;
49  	}
50  
51  	public ObjectMetadata getMetadata() {
52  		return metadata;
53  	}
54  
55  }