/******************************************************************************* * * Copyright (c) 2004-2009 Oracle Corporation. * * 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.eclipse.org/legal/epl-v10.html * * Contributors: * * Kohsuke Kawaguchi * * *******************************************************************************/ package hudson; import java.util.Calendar; /** * Provides a RSS feed view of the data. * * <p> This interface allows data structure of any form to be exposed as RSS * feeds, just by writing a stateless singleton adapter code that implements * this interface. * * @author Kohsuke Kawaguchi */ public interface FeedAdapter<E> { /** * Gets the human readable title of the entry. In RSS readers, this is * usually displayed like an e-mail subject. */ String getEntryTitle(E entry); /** * Gets the URL that represents this entry. Relative to context root of the * Hudson. */ String getEntryUrl(E entry); /** * Unique ID of each entry. RSS readers use this to determine what feeds are * new and what are not. * * This needs to produce a tag URL as per RFC 4151, required by Atom 1.0. */ String getEntryID(E entry); /** * (Potentially lengthy) plain text to be attached to the feed. Can be null. */ String getEntryDescription(E entry); /** * Timestamp of the last change in this entry. */ Calendar getEntryTimestamp(E entry); /** * Author of this entry. */ String getEntryAuthor(E entry); }