All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.blitline.image.BlitlinePostResults Maven / Gradle / Ivy

There is a newer version: 0.17.1
Show newest version
package com.blitline.image;

import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonRootName;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;

@JsonRootName("results")
@JsonNaming(PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy.class)
@JsonInclude(Include.NON_EMPTY)
public class BlitlinePostResults {

	private String error;

	private String jobId;

	private List images;
	
	private Map imageDestinations;

	public String getJobId() {
		return jobId;
	}

	public void setJobId(String jobId) {
		this.jobId = jobId;
	}

	public List getImages() {
		return images;
	}

	public void setImages(List images) {
		this.images = images;
	}
	
	@JsonIgnore
	public Map getImageDestinations() {
		if(imageDestinations == null && images != null) {
			Map ids = new HashMap();
			for(Image image : images)
				ids.put(image.getImageIdentifier(), image.getS3Url());
			
			imageDestinations = Collections.unmodifiableMap(ids);
		}
		
		return imageDestinations;
	}

	public String getError() {
		return error;
	}

	public void setError(String error) {
		this.error = error;
	}

	public boolean isSuccessful() {
		return error == null;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder("BlitlinePostResults[");
		if(isSuccessful()) {
			sb.append("job ID=").append(jobId).append(", images=").append(getImageDestinations());
		} else {
			sb.append("error=").append(error);
		}
		
		return sb.append(']').toString();
	}

	@JsonNaming(PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy.class)
	public static class Image {
		private String imageIdentifier;
		private String s3Url;

		public String getImageIdentifier() {
			return imageIdentifier;
		}

		public void setImageIdentifier(String imageIdentifier) {
			this.imageIdentifier = imageIdentifier;
		}

		public String getS3Url() {
			return s3Url;
		}

		public void setS3Url(String s3Url) {
			this.s3Url = s3Url;
		}

		@Override
		public String toString() {
			return new StringBuilder("\"").append(imageIdentifier).append("\"=>").append(s3Url).toString();
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy