package moe.kurumi.moegallery.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import java.util.ArrayList;
import java.util.List;
import moe.kurumi.moegallery.utils.Utils;
/**
* Created by kurumi on 15-5-28.
*/
public class MoebooruImage implements Image {
@Expose
private Long id;
@Expose
private String tags;
@SerializedName("created_at")
@Expose
private Long createdAt;
@SerializedName("creator_id")
@Expose
private Long creatorId;
@Expose
private String author;
@Expose
private Long change;
@Expose
private String source;
@Expose
private Long score;
@Expose
private String md5;
@SerializedName("file_size")
@Expose
private Long fileSize;
@SerializedName("file_url")
@Expose
private String fileUrl;
@SerializedName("is_shown_in_index")
@Expose
private Boolean isShownInIndex;
@SerializedName("preview_url")
@Expose
private String previewUrl;
@SerializedName("preview_width")
@Expose
private Long previewWidth;
@SerializedName("preview_height")
@Expose
private Long previewHeight;
@SerializedName("actual_preview_width")
@Expose
private Long actualPreviewWidth;
@SerializedName("actual_preview_height")
@Expose
private Long actualPreviewHeight;
@SerializedName("sample_url")
@Expose
private String sampleUrl;
@SerializedName("sample_width")
@Expose
private Long sampleWidth;
@SerializedName("sample_height")
@Expose
private Long sampleHeight;
@SerializedName("sample_file_size")
@Expose
private Long sampleFileSize;
@SerializedName("jpeg_url")
@Expose
private String jpegUrl;
@SerializedName("jpeg_width")
@Expose
private Long jpegWidth;
@SerializedName("jpeg_height")
@Expose
private Long jpegHeight;
@SerializedName("jpeg_file_size")
@Expose
private Long jpegFileSize;
@Expose
private String rating;
@SerializedName("has_children")
@Expose
private Boolean hasChildren;
@SerializedName("parent_id")
@Expose
private Object parentId;
@Expose
private String status;
@Expose
private Long width;
@Expose
private Long height;
@SerializedName("is_held")
@Expose
private Boolean isHeld;
@SerializedName("frames_pending_string")
@Expose
private String framesPendingString;
@SerializedName("frames_pending")
@Expose
private List<Object> framesPending = new ArrayList<Object>();
@SerializedName("frames_string")
@Expose
private String framesString;
@Expose
private List<Object> frames = new ArrayList<Object>();
/**
* @return The id
*/
public Long getId() {
return id;
}
/**
* @param id The id
*/
public void setId(Long id) {
this.id = id;
}
@Override
public String getUser() {
return getAuthor();
}
@Override
public String getType() {
return Utils.getMimeType(getFileUrl());
}
@Override
public Long getCount() {
return (long) 0;
}
@Override
public Long getSize() {
return getFileSize();
}
@Override
public List<String> getTagList() {
return Utils.tags2List(getTags());
}
/**
* @return The tags
*/
public String getTags() {
return tags;
}
/**
* @param tags The tags
*/
public void setTags(String tags) {
this.tags = tags;
}
/**
* @return The createdAt
*/
public Long getCreatedAt() {
return createdAt;
}
/**
* @param createdAt The created_at
*/
public void setCreatedAt(Long createdAt) {
this.createdAt = createdAt;
}
/**
* @return The creatorId
*/
public Long getCreatorId() {
return creatorId;
}
/**
* @param creatorId The creator_id
*/
public void setCreatorId(Long creatorId) {
this.creatorId = creatorId;
}
/**
* @return The author
*/
public String getAuthor() {
return author;
}
/**
* @param author The author
*/
public void setAuthor(String author) {
this.author = author;
}
/**
* @return The change
*/
public Long getChange() {
return change;
}
/**
* @param change The change
*/
public void setChange(Long change) {
this.change = change;
}
/**
* @return The source
*/
public String getSource() {
return source;
}
/**
* @param source The source
*/
public void setSource(String source) {
this.source = source;
}
/**
* @return The score
*/
public Long getScore() {
return score;
}
/**
* @param score The score
*/
public void setScore(Long score) {
this.score = score;
}
/**
* @return The md5
*/
public String getMd5() {
return md5;
}
/**
* @param md5 The md5
*/
public void setMd5(String md5) {
this.md5 = md5;
}
/**
* @return The fileSize
*/
public Long getFileSize() {
return fileSize;
}
/**
* @param fileSize The file_size
*/
public void setFileSize(Long fileSize) {
this.fileSize = fileSize;
}
/**
* @return The fileUrl
*/
public String getFileUrl() {
return fixUrl(fileUrl);
}
/**
* @param fileUrl The file_url
*/
public void setFileUrl(String fileUrl) {
this.fileUrl = fileUrl;
}
private String fixUrl(String url) {
if (url != null && url.startsWith("//")) {
url = "https:" + url;
}
return url;
}
/**
* @return The isShownInIndex
*/
public Boolean getIsShownInIndex() {
return isShownInIndex;
}
/**
* @param isShownInIndex The is_shown_in_index
*/
public void setIsShownInIndex(Boolean isShownInIndex) {
this.isShownInIndex = isShownInIndex;
}
/**
* @return The previewUrl
*/
public String getPreviewUrl() {
return fixUrl(previewUrl);
}
/**
* @param previewUrl The preview_url
*/
public void setPreviewUrl(String previewUrl) {
this.previewUrl = previewUrl;
}
/**
* @return The previewWidth
*/
public Long getPreviewWidth() {
return previewWidth;
}
/**
* @param previewWidth The preview_width
*/
public void setPreviewWidth(Long previewWidth) {
this.previewWidth = previewWidth;
}
/**
* @return The previewHeight
*/
public Long getPreviewHeight() {
return previewHeight;
}
/**
* @param previewHeight The preview_height
*/
public void setPreviewHeight(Long previewHeight) {
this.previewHeight = previewHeight;
}
/**
* @return The actualPreviewWidth
*/
public Long getActualPreviewWidth() {
return actualPreviewWidth;
}
/**
* @param actualPreviewWidth The actual_preview_width
*/
public void setActualPreviewWidth(Long actualPreviewWidth) {
this.actualPreviewWidth = actualPreviewWidth;
}
/**
* @return The actualPreviewHeight
*/
public Long getActualPreviewHeight() {
return actualPreviewHeight;
}
/**
* @param actualPreviewHeight The actual_preview_height
*/
public void setActualPreviewHeight(Long actualPreviewHeight) {
this.actualPreviewHeight = actualPreviewHeight;
}
/**
* @return The sampleUrl
*/
public String getSampleUrl() {
return fixUrl(sampleUrl);
}
/**
* @param sampleUrl The sample_url
*/
public void setSampleUrl(String sampleUrl) {
this.sampleUrl = sampleUrl;
}
@Override
public String getName() {
return Utils.getFileNameFromUrl(getFileUrl());
}
/**
* @return The sampleWidth
*/
public Long getSampleWidth() {
return sampleWidth;
}
/**
* @param sampleWidth The sample_width
*/
public void setSampleWidth(Long sampleWidth) {
this.sampleWidth = sampleWidth;
}
/**
* @return The sampleHeight
*/
public Long getSampleHeight() {
return sampleHeight;
}
/**
* @param sampleHeight The sample_height
*/
public void setSampleHeight(Long sampleHeight) {
this.sampleHeight = sampleHeight;
}
/**
* @return The sampleFileSize
*/
public Long getSampleFileSize() {
return sampleFileSize;
}
/**
* @param sampleFileSize The sample_file_size
*/
public void setSampleFileSize(Long sampleFileSize) {
this.sampleFileSize = sampleFileSize;
}
/**
* @return The jpegUrl
*/
public String getJpegUrl() {
return fixUrl(jpegUrl);
}
/**
* @param jpegUrl The jpeg_url
*/
public void setJpegUrl(String jpegUrl) {
this.jpegUrl = jpegUrl;
}
/**
* @return The jpegWidth
*/
public Long getJpegWidth() {
return jpegWidth;
}
/**
* @param jpegWidth The jpeg_width
*/
public void setJpegWidth(Long jpegWidth) {
this.jpegWidth = jpegWidth;
}
/**
* @return The jpegHeight
*/
public Long getJpegHeight() {
return jpegHeight;
}
/**
* @param jpegHeight The jpeg_height
*/
public void setJpegHeight(Long jpegHeight) {
this.jpegHeight = jpegHeight;
}
/**
* @return The jpegFileSize
*/
public Long getJpegFileSize() {
return jpegFileSize;
}
/**
* @param jpegFileSize The jpeg_file_size
*/
public void setJpegFileSize(Long jpegFileSize) {
this.jpegFileSize = jpegFileSize;
}
/**
* @return The rating
*/
public String getRating() {
return rating;
}
/**
* @param rating The rating
*/
public void setRating(String rating) {
this.rating = rating;
}
/**
* @return The hasChildren
*/
public Boolean getHasChildren() {
return hasChildren;
}
/**
* @param hasChildren The has_children
*/
public void setHasChildren(Boolean hasChildren) {
this.hasChildren = hasChildren;
}
/**
* @return The parentId
*/
public Object getParentId() {
return parentId;
}
/**
* @param parentId The parent_id
*/
public void setParentId(Object parentId) {
this.parentId = parentId;
}
/**
* @return The status
*/
public String getStatus() {
return status;
}
/**
* @param status The status
*/
public void setStatus(String status) {
this.status = status;
}
/**
* @return The width
*/
public Long getWidth() {
return width;
}
/**
* @param width The width
*/
public void setWidth(Long width) {
this.width = width;
}
/**
* @return The height
*/
public Long getHeight() {
return height;
}
/**
* @param height The height
*/
public void setHeight(Long height) {
this.height = height;
}
/**
* @return The isHeld
*/
public Boolean getIsHeld() {
return isHeld;
}
/**
* @param isHeld The is_held
*/
public void setIsHeld(Boolean isHeld) {
this.isHeld = isHeld;
}
/**
* @return The framesPendingString
*/
public String getFramesPendingString() {
return framesPendingString;
}
/**
* @param framesPendingString The frames_pending_string
*/
public void setFramesPendingString(String framesPendingString) {
this.framesPendingString = framesPendingString;
}
/**
* @return The framesPending
*/
public List<Object> getFramesPending() {
return framesPending;
}
/**
* @param framesPending The frames_pending
*/
public void setFramesPending(List<Object> framesPending) {
this.framesPending = framesPending;
}
/**
* @return The framesString
*/
public String getFramesString() {
return framesString;
}
/**
* @param framesString The frames_string
*/
public void setFramesString(String framesString) {
this.framesString = framesString;
}
/**
* @return The frames
*/
public List<Object> getFrames() {
return frames;
}
/**
* @param frames The frames
*/
public void setFrames(List<Object> frames) {
this.frames = frames;
}
}