package com.badoo.chateau.data.models.payloads;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
/**
* Payload containing an image and an optional message
*/
public class ImagePayload implements Payload {
public static final String PLACEHOLDER = "placeholder";
@NonNull
private final String mImageUrl;
@Nullable
private final String mThumbnailUrl;
@Nullable
private final String mMessage;
public ImagePayload(@NonNull String imageUrl, @Nullable String thumbnailUrl, @Nullable String message) {
mImageUrl = imageUrl;
mThumbnailUrl = thumbnailUrl;
mMessage = message;
}
public ImagePayload(@NonNull String imageUrl) {
this(imageUrl, null, null);
}
@Nullable
public String getMessage() {
return mMessage;
}
@NonNull
public String getImageUrl() {
return mImageUrl;
}
@Nullable
public String getThumbnailUrl() {
return mThumbnailUrl;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ImagePayload)) return false;
ImagePayload that = (ImagePayload) o;
if (!mImageUrl.equals(that.mImageUrl)) return false;
if (mThumbnailUrl != null ? !mThumbnailUrl.equals(that.mThumbnailUrl) : that.mThumbnailUrl != null) return false;
return mMessage != null ? mMessage.equals(that.mMessage) : that.mMessage == null;
}
@Override
public int hashCode() {
int result = mImageUrl.hashCode();
result = 31 * result + (mThumbnailUrl != null ? mThumbnailUrl.hashCode() : 0);
result = 31 * result + (mMessage != null ? mMessage.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "ImagePayload{" +
"mImageUrl='" + mImageUrl + '\'' +
", mThumbnailUrl='" + mThumbnailUrl + '\'' +
", mMessage='" + mMessage + '\'' +
'}';
}
}