/* ********************************************************************** **
** Copyright notice **
** **
** (c) 2005-2009 RSSOwl Development Team **
** http://www.rssowl.org/ **
** **
** All rights reserved **
** **
** This program and the accompanying materials are made available under **
** the terms of the Eclipse Public License v1.0 which accompanies this **
** distribution, and is available at: **
** http://www.rssowl.org/legal/epl-v10.html **
** **
** A copy is found in the file epl-v10.html and important notices to the **
** license from the team is found in the textfile LICENSE.txt distributed **
** in this package. **
** **
** This copyright notice MUST APPEAR in all copies of the file! **
** **
** Contributors: **
** RSSOwl Development Team - initial API and implementation **
** **
** ********************************************************************** */
package org.rssowl.ui.internal.dialogs.cleanup;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osgi.util.NLS;
import org.rssowl.core.persist.IBookMark;
import org.rssowl.core.persist.INews;
import org.rssowl.core.persist.reference.NewsReference;
import org.rssowl.ui.internal.OwlUI;
import java.util.Collection;
/**
* An instance of <code>CleanUpTask</code> to delete a collection of
* {@link INews}.
*
* @author bpasero
*/
public class NewsTask extends CleanUpTask {
private final Collection<NewsReference> fNews;
private ImageDescriptor fImage;
private String fLabel;
NewsTask(CleanUpGroup group, IBookMark container, Collection<NewsReference> news) {
super(group);
Assert.isNotNull(container);
Assert.isNotNull(news);
Assert.isTrue(!news.isEmpty());
fNews = news;
init(container);
}
private void init(IBookMark container) {
/* Label */
fLabel = NLS.bind(Messages.NewsTask_DELETE_N_NEWS_FROM_M, fNews.size(), container.getName());
/* Image */
fImage = OwlUI.getFavicon(container);
if (fImage == null)
fImage = OwlUI.BOOKMARK;
}
/**
* @return Returns the News that are to be deleted.
*/
public Collection<NewsReference> getNews() {
return fNews;
}
/*
* @see org.rssowl.ui.internal.dialogs.cleanup.CleanUpTask#getImage()
*/
@Override
ImageDescriptor getImage() {
return fImage;
}
/*
* @see org.rssowl.ui.internal.dialogs.cleanup.CleanUpTask#getLabel()
*/
@Override
String getLabel() {
return fLabel;
}
}