package com.wangdaye.mysplash.common.data.entity.unsplash;
import java.util.ArrayList;
import java.util.List;
/**
* Action object.
* */
public class ActionObject {
// comment part.
public boolean hasFadedIn = false;
public String id;
public int downloads;
public PhotoLinks links;
// photo part.
public boolean loadPhotoSuccess = false;
public boolean settingLike = false;
public String created_at;
public int width;
public int height;
public String color;
public int likes;
public boolean liked_by_user;
public Exif exif;
public PhotoUrls urls;
public User user;
public List<Collection> current_user_collections;
public List<Category> categories;
// user part.
public String username;
public String name;
public String first_name;
public String last_name;
public String portfolio_url;
public String bio;
public int total_likes;
public int total_photos;
public int total_collections;
public boolean followed_by_user;
public ProfileImage profile_image;
public Badge badge;
public ActionObject(Photo p) {
loadPhotoSuccess = p.loadPhotoSuccess;
hasFadedIn = p.hasFadedIn;
settingLike = p.settingLike;
id = p.id;
created_at = p.created_at;
width = p.width;
height = p.height;
color = p.color;
downloads = p.downloads;
likes = p.likes;
liked_by_user = p.liked_by_user;
exif = p.exif;
urls = p.urls;
links = p.links;
user = p.user;
current_user_collections = new ArrayList<>(p.current_user_collections);
categories = new ArrayList<>(p.categories);
}
public ActionObject(User u) {
hasFadedIn = u.hasFadedIn;
id = u.id;
downloads = u.downloads;
username = u.username;
name = u.name;
first_name = u.first_name;
last_name = u.last_name;
portfolio_url = u.portfolio_url;
bio = u.bio;
total_likes = u.total_likes;
total_photos = u.total_photos;
total_collections = u.total_collections;
followed_by_user = u.followed_by_user;
profile_image = u.profile_image;
badge = u.badge;
}
public Photo castToPhoto() {
Photo p = new Photo();
p.loadPhotoSuccess = loadPhotoSuccess;
p.hasFadedIn = hasFadedIn;
p.settingLike = settingLike;
p.id = id;
p.created_at = created_at;
p.width = width;
p.height = height;
p.color = color;
p.downloads = downloads;
p.likes = likes;
p.liked_by_user = liked_by_user;
p.exif = exif;
p.urls = urls;
p.links = links;
p.user = user;
p.current_user_collections = new ArrayList<>(current_user_collections);
p.categories = new ArrayList<>(categories);
return p;
}
public User castToUser() {
User u = new User();
u.id = id;
u.username = username;
u.name = name;
u.first_name = first_name;
u.last_name = last_name;
u.portfolio_url = portfolio_url;
u.bio = bio;
u.total_likes = total_likes;
u.total_photos = total_photos;
u.total_collections = total_collections;
u.followed_by_user = followed_by_user;
u.downloads = downloads;
u.profile_image = profile_image;
u.badge = badge;
return u;
}
}