Untitled
unknown
plain_text
8 months ago
18 kB
14
Indexable
package sth.nns.clientservice.model;
import sth.json.JSON;
import sth.json.JacksonHelper;
import java.util.List;
import java.util.ArrayList;
/**
* Model representing the response from the NNS recommendations personalized API.
*/
public class RecommendationsResponse {
private String type;
private String uiHint;
private boolean vodOutOfWindow;
private String name;
private String twcTvNetworkDisplayMode;
private List<Result> results; // Using the proper generic type
private int num_categories;
private int total_results;
private int start_index;
private int num_results;
private int max_results;
private String dsQueryId;
private String curationType;
private List<String> dynamicUris;
private boolean skeletonShelf;
public RecommendationsResponse() {
this.results = new ArrayList<>();
this.dynamicUris = new ArrayList<>();
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getUiHint() {
return uiHint;
}
public void setUiHint(String uiHint) {
this.uiHint = uiHint;
}
public boolean isVodOutOfWindow() {
return vodOutOfWindow;
}
public void setVodOutOfWindow(boolean vodOutOfWindow) {
this.vodOutOfWindow = vodOutOfWindow;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTwcTvNetworkDisplayMode() {
return twcTvNetworkDisplayMode;
}
public void setTwcTvNetworkDisplayMode(String twcTvNetworkDisplayMode) {
this.twcTvNetworkDisplayMode = twcTvNetworkDisplayMode;
}
public List<Result> getResults() {
return results;
}
public void setResults(List<Result> results) {
this.results = results;
}
public int getNum_categories() {
return num_categories;
}
public void setNum_categories(int num_categories) {
this.num_categories = num_categories;
}
public int getTotal_results() {
return total_results;
}
public void setTotal_results(int total_results) {
this.total_results = total_results;
}
public int getStart_index() {
return start_index;
}
public void setStart_index(int start_index) {
this.start_index = start_index;
}
public int getNum_results() {
return num_results;
}
public void setNum_results(int num_results) {
this.num_results = num_results;
}
public int getMax_results() {
return max_results;
}
public void setMax_results(int max_results) {
this.max_results = max_results;
}
public String getDsQueryId() {
return dsQueryId;
}
public void setDsQueryId(String dsQueryId) {
this.dsQueryId = dsQueryId;
}
public String getCurationType() {
return curationType;
}
public void setCurationType(String curationType) {
this.curationType = curationType;
}
public List<String> getDynamicUris() {
return dynamicUris;
}
public void setDynamicUris(List<String> dynamicUris) {
this.dynamicUris = dynamicUris;
}
public boolean isSkeletonShelf() {
return skeletonShelf;
}
public void setSkeletonShelf(boolean skeletonShelf) {
this.skeletonShelf = skeletonShelf;
}
public JSON toJson() {
return JSON.parse(JacksonHelper.writeValueAsBytes(this));
}
public byte[] toBytes() {
return JacksonHelper.writeValueAsBytes(this);
}
@Override
public String toString() {
return JacksonHelper.toString(this, 3);
}
public RecommendationsResponse defaultModel() {
// Create a default model for testing
return this;
}
}
/**
* Base class for all result types in the recommendations response.
*/
public abstract class Result {
private String type;
private String alphaSortOn;
private boolean availableOutOfHome;
private boolean linearAvailableOutOfHome;
private boolean linearAvailableInMarket;
private boolean vodAvailableOutOfHome;
private boolean tvodAvailableOutOfHome;
private boolean cdvrAvailableOutOfHome;
private boolean vodOutOfWindow;
private String image_uri;
private String network;
private String title;
private String titleWithoutArticles;
private String uri;
private boolean skeletonShelf;
public Result() {}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getAlphaSortOn() {
return alphaSortOn;
}
public void setAlphaSortOn(String alphaSortOn) {
this.alphaSortOn = alphaSortOn;
}
public boolean isAvailableOutOfHome() {
return availableOutOfHome;
}
public void setAvailableOutOfHome(boolean availableOutOfHome) {
this.availableOutOfHome = availableOutOfHome;
}
public boolean isLinearAvailableOutOfHome() {
return linearAvailableOutOfHome;
}
public void setLinearAvailableOutOfHome(boolean linearAvailableOutOfHome) {
this.linearAvailableOutOfHome = linearAvailableOutOfHome;
}
public boolean isLinearAvailableInMarket() {
return linearAvailableInMarket;
}
public void setLinearAvailableInMarket(boolean linearAvailableInMarket) {
this.linearAvailableInMarket = linearAvailableInMarket;
}
public boolean isVodAvailableOutOfHome() {
return vodAvailableOutOfHome;
}
public void setVodAvailableOutOfHome(boolean vodAvailableOutOfHome) {
this.vodAvailableOutOfHome = vodAvailableOutOfHome;
}
public boolean isTvodAvailableOutOfHome() {
return tvodAvailableOutOfHome;
}
public void setTvodAvailableOutOfHome(boolean tvodAvailableOutOfHome) {
this.tvodAvailableOutOfHome = tvodAvailableOutOfHome;
}
public boolean isCdvrAvailableOutOfHome() {
return cdvrAvailableOutOfHome;
}
public void setCdvrAvailableOutOfHome(boolean cdvrAvailableOutOfHome) {
this.cdvrAvailableOutOfHome = cdvrAvailableOutOfHome;
}
public boolean isVodOutOfWindow() {
return vodOutOfWindow;
}
public void setVodOutOfWindow(boolean vodOutOfWindow) {
this.vodOutOfWindow = vodOutOfWindow;
}
public String getImage_uri() {
return image_uri;
}
public void setImage_uri(String image_uri) {
this.image_uri = image_uri;
}
public String getNetwork() {
return network;
}
public void setNetwork(String network) {
this.network = network;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getTitleWithoutArticles() {
return titleWithoutArticles;
}
public void setTitleWithoutArticles(String titleWithoutArticles) {
this.titleWithoutArticles = titleWithoutArticles;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
public boolean isSkeletonShelf() {
return skeletonShelf;
}
public void setSkeletonShelf(boolean skeletonShelf) {
this.skeletonShelf = skeletonShelf;
}
}
/**
* Model for "event" type results in the recommendations response.
*/
public class Event extends Result {
private List<String> tmsProgramIds;
private List<String> providerAssetIds;
private List<String> tmsGuideServiceIds;
private List<String> ipTmsGuideServiceIds;
private List<String> streamList;
private EventDetails details;
public Event() {
this.tmsProgramIds = new ArrayList<>();
this.providerAssetIds = new ArrayList<>();
this.tmsGuideServiceIds = new ArrayList<>();
this.ipTmsGuideServiceIds = new ArrayList<>();
this.streamList = new ArrayList<>();
}
public List<String> getTmsProgramIds() {
return tmsProgramIds;
}
public void setTmsProgramIds(List<String> tmsProgramIds) {
this.tmsProgramIds = tmsProgramIds;
}
public List<String> getProviderAssetIds() {
return providerAssetIds;
}
public void setProviderAssetIds(List<String> providerAssetIds) {
this.providerAssetIds = providerAssetIds;
}
public List<String> getTmsGuideServiceIds() {
return tmsGuideServiceIds;
}
public void setTmsGuideServiceIds(List<String> tmsGuideServiceIds) {
this.tmsGuideServiceIds = tmsGuideServiceIds;
}
public List<String> getIpTmsGuideServiceIds() {
return ipTmsGuideServiceIds;
}
public void setIpTmsGuideServiceIds(List<String> ipTmsGuideServiceIds) {
this.ipTmsGuideServiceIds = ipTmsGuideServiceIds;
}
public List<String> getStreamList() {
return streamList;
}
public void setStreamList(List<String> streamList) {
this.streamList = streamList;
}
public EventDetails getDetails() {
return details;
}
public void setDetails(EventDetails details) {
this.details = details;
}
public JSON toJson() {
return JSON.parse(JacksonHelper.writeValueAsBytes(this));
}
public byte[] toBytes() {
return JacksonHelper.writeValueAsBytes(this);
}
@Override
public String toString() {
return JacksonHelper.toString(this, 3);
}
}
/**
* Model for "episode_list" type results in the recommendations response.
*/
public class EpisodeList extends Result {
private String tmsSeriesId;
private String tmsSeriesIdStr;
private List<String> tmsGuideServiceIds;
private List<String> ipTmsGuideServiceIds;
private EpisodeListDetails details;
public EpisodeList() {
this.tmsGuideServiceIds = new ArrayList<>();
this.ipTmsGuideServiceIds = new ArrayList<>();
}
public String getTmsSeriesId() {
return tmsSeriesId;
}
public void setTmsSeriesId(String tmsSeriesId) {
this.tmsSeriesId = tmsSeriesId;
}
public String getTmsSeriesIdStr() {
return tmsSeriesIdStr;
}
public void setTmsSeriesIdStr(String tmsSeriesIdStr) {
this.tmsSeriesIdStr = tmsSeriesIdStr;
}
public List<String> getTmsGuideServiceIds() {
return tmsGuideServiceIds;
}
public void setTmsGuideServiceIds(List<String> tmsGuideServiceIds) {
this.tmsGuideServiceIds = tmsGuideServiceIds;
}
public List<String> getIpTmsGuideServiceIds() {
return ipTmsGuideServiceIds;
}
public void setIpTmsGuideServiceIds(List<String> ipTmsGuideServiceIds) {
this.ipTmsGuideServiceIds = ipTmsGuideServiceIds;
}
public EpisodeListDetails getDetails() {
return details;
}
public void setDetails(EpisodeListDetails details) {
this.details = details;
}
public JSON toJson() {
return JSON.parse(JacksonHelper.writeValueAsBytes(this));
}
public byte[] toBytes() {
return JacksonHelper.writeValueAsBytes(this);
}
@Override
public String toString() {
return JacksonHelper.toString(this, 3);
}
}
/**
* Model for details of an "event" type result.
*/
public class EventDetails {
private List<Genre> genres;
private ProgramMetadata programMetadata;
private String original_air_date;
private String year;
private List<String> allRatings;
private List<String> allVPPs;
private List<String> allIpVPPs;
private boolean entitled;
private boolean tvodEntitled;
private boolean linearEntitledIp;
private boolean linearEntitledQam;
public EventDetails() {
this.genres = new ArrayList<>();
this.allRatings = new ArrayList<>();
this.allVPPs = new ArrayList<>();
this.allIpVPPs = new ArrayList<>();
}
public List<Genre> getGenres() {
return genres;
}
public void setGenres(List<Genre> genres) {
this.genres = genres;
}
public ProgramMetadata getProgramMetadata() {
return programMetadata;
}
public void setProgramMetadata(ProgramMetadata programMetadata) {
this.programMetadata = programMetadata;
}
public String getOriginal_air_date() {
return original_air_date;
}
public void setOriginal_air_date(String original_air_date) {
this.original_air_date = original_air_date;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public List<String> getAllRatings() {
return allRatings;
}
public void setAllRatings(List<String> allRatings) {
this.allRatings = allRatings;
}
public List<String> getAllVPPs() {
return allVPPs;
}
public void setAllVPPs(List<String> allVPPs) {
this.allVPPs = allVPPs;
}
public List<String> getAllIpVPPs() {
return allIpVPPs;
}
public void setAllIpVPPs(List<String> allIpVPPs) {
this.allIpVPPs = allIpVPPs;
}
public boolean isEntitled() {
return entitled;
}
public void setEntitled(boolean entitled) {
this.entitled = entitled;
}
public boolean isTvodEntitled() {
return tvodEntitled;
}
public void setTvodEntitled(boolean tvodEntitled) {
this.tvodEntitled = tvodEntitled;
}
public boolean isLinearEntitledIp() {
return linearEntitledIp;
}
public void setLinearEntitledIp(boolean linearEntitledIp) {
this.linearEntitledIp = linearEntitledIp;
}
public boolean isLinearEntitledQam() {
return linearEntitledQam;
}
public void setLinearEntitledQam(boolean linearEntitledQam) {
this.linearEntitledQam = linearEntitledQam;
}
public JSON toJson() {
return JSON.parse(JacksonHelper.writeValueAsBytes(this));
}
public byte[] toBytes() {
return JacksonHelper.writeValueAsBytes(this);
}
@Override
public String toString() {
return JacksonHelper.toString(this, 3);
}
}
/**
* Model for details of an "episode_list" type result.
*/
public class EpisodeListDetails {
private int num_assets;
private int totalEpisodes;
private Event latest_episode;
private List<String> allRatings;
private List<String> allVPPs;
private List<String> allIpVPPs;
private boolean entitled;
private boolean tvodEntitled;
private boolean linearEntitledIp;
private boolean linearEntitledQam;
public EpisodeListDetails() {
this.allRatings = new ArrayList<>();
this.allVPPs = new ArrayList<>();
this.allIpVPPs = new ArrayList<>();
}
public int getNum_assets() {
return num_assets;
}
public void setNum_assets(int num_assets) {
this.num_assets = num_assets;
}
public int getTotalEpisodes() {
return totalEpisodes;
}
public void setTotalEpisodes(int totalEpisodes) {
this.totalEpisodes = totalEpisodes;
}
public Event getLatest_episode() {
return latest_episode;
}
public void setLatest_episode(Event latest_episode) {
this.latest_episode = latest_episode;
}
public List<String> getAllRatings() {
return allRatings;
}
public void setAllRatings(List<String> allRatings) {
this.allRatings = allRatings;
}
public List<String> getAllVPPs() {
return allVPPs;
}
public void setAllVPPs(List<String> allVPPs) {
this.allVPPs = allVPPs;
}
public List<String> getAllIpVPPs() {
return allIpVPPs;
}
public void setAllIpVPPs(List<String> allIpVPPs) {
this.allIpVPPs = allIpVPPs;
}
public boolean isEntitled() {
return entitled;
}
public void setEntitled(boolean entitled) {
this.entitled = entitled;
}
public boolean isTvodEntitled() {
return tvodEntitled;
}
public void setTvodEntitled(boolean tvodEntitled) {
this.tvodEntitled = tvodEntitled;
}
public boolean isLinearEntitledIp() {
return linearEntitledIp;
}
public void setLinearEntitledIp(boolean linearEntitledIp) {
this.linearEntitledIp = linearEntitledIp;
}
public boolean isLinearEntitledQam() {
return linearEntitledQam;
}
public void setLinearEntitledQam(boolean linearEntitledQam) {
this.linearEntitledQam = linearEntitledQam;
}
public JSON toJson() {
return JSON.parse(JacksonHelper.writeValueAsBytes(this));
}
public byte[] toBytes() {
return JacksonHelper.writeValueAsBytes(this);
}
@Override
public String toString() {
return JacksonHelper.toString(this, 3);
}
}
/**
* Model for program metadata.
*/
public class ProgramMetadata {
// Add fields as needed based on the actual response
public ProgramMetadata() {}
public JSON toJson() {
return JSON.parse(JacksonHelper.writeValueAsBytes(this));
}
public byte[] toBytes() {
return JacksonHelper.writeValueAsBytes(this);
}
@Override
public String toString() {
return JacksonHelper.toString(this, 3);
}
}
/**
* Model for genre information.
*/
public class Genre {
private String name;
public Genre() {}
public Genre(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public JSON toJson() {
return JSON.parse(JacksonHelper.writeValueAsBytes(this));
}
public byte[] toBytes() {
return JacksonHelper.writeValueAsBytes(this);
}
@Override
public String toString() {
return JacksonHelper.toString(this, 3);
}
}
Editor is loading...
Leave a Comment