/* * Copyright (c) 2011 Lockheed Martin Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.eurekastreams.server.domain.dto; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * DTO to contain different lists of StreamDTOs for the Streams Discover page. */ public class StreamDiscoverListsDTO implements Serializable { /** * Serial version uid. */ private static final long serialVersionUID = -4114921089517370773L; /** * The top 10 most active streams by message count. */ private SublistWithResultCount<StreamDTO> mostActiveStreams; /** * The top 10 most viewed streams. */ private ArrayList<StreamDTO> mostViewedStreams; /** * The top 10 most followed streams. */ private ArrayList<StreamDTO> mostFollowedStreams; /** * The top 10 most recent streams. */ private ArrayList<StreamDTO> mostRecentStreams; /** * A list of the top 10 suggested streams for a specific person - this is populated after this is pulled from cache. */ private ArrayList<StreamDTO> suggestedStreams; /** * A list of all of the currently featured streams. */ private ArrayList<FeaturedStreamDTO> featuredStreams; /** * @return the mostActiveStreams */ public SublistWithResultCount<StreamDTO> getMostActiveStreams() { return mostActiveStreams; } /** * @param inMostActiveStreams * the mostActiveStreams to set */ public void setMostActiveStreams(final SublistWithResultCount<StreamDTO> inMostActiveStreams) { mostActiveStreams = inMostActiveStreams; // convert the list to ArrayList for serialization mostActiveStreams.setResultsSublist(new ArrayList<StreamDTO>(mostActiveStreams.getResultsSublist())); } /** * @return the mostViewedStreams */ public List<StreamDTO> getMostViewedStreams() { return mostViewedStreams; } /** * @param inMostViewedStreams * the mostViewedStreams to set */ public void setMostViewedStreams(final List<StreamDTO> inMostViewedStreams) { mostViewedStreams = new ArrayList<StreamDTO>(inMostViewedStreams); } /** * @return the mostFollowedStreams */ public List<StreamDTO> getMostFollowedStreams() { return mostFollowedStreams; } /** * @param inMostFollowedStreams * the mostFollowedStreams to set */ public void setMostFollowedStreams(final List<StreamDTO> inMostFollowedStreams) { mostFollowedStreams = new ArrayList<StreamDTO>(inMostFollowedStreams); } /** * @return the mostRecentStreams */ public List<StreamDTO> getMostRecentStreams() { return mostRecentStreams; } /** * @param inMostRecentStreams * the mostRecentStreams to set */ public void setMostRecentStreams(final List<StreamDTO> inMostRecentStreams) { mostRecentStreams = new ArrayList<StreamDTO>(inMostRecentStreams); } /** * @return the suggestedStreams */ public List<StreamDTO> getSuggestedStreams() { return suggestedStreams; } /** * @param inSuggestedStreams * the suggestedStreams to set */ public void setSuggestedStreams(final List<StreamDTO> inSuggestedStreams) { suggestedStreams = new ArrayList<StreamDTO>(inSuggestedStreams); } /** * @return the featuredStreams */ public List<FeaturedStreamDTO> getFeaturedStreams() { return featuredStreams; } /** * @param inFeaturedStreams * the featuredStreams to set */ public void setFeaturedStreams(final List<FeaturedStreamDTO> inFeaturedStreams) { featuredStreams = new ArrayList<FeaturedStreamDTO>(inFeaturedStreams); } }