package org.atomnuke.source; import org.atomnuke.task.context.AtomTaskContext; import org.atomnuke.lifecycle.ResourceLifeCycle; import org.atomnuke.source.result.AtomSourceResult; /** * An AtomSource represents an object that may be polled for ATOM data. * * @author zinic */ public interface AtomSource extends ResourceLifeCycle<AtomTaskContext> { /** * Polls the source for ATOM data. This data may be an Entry object or a Feed * object. * * @return result containing the necessary information to identify the result * and extract it. * @throws AtomSourceException thrown when the underlying system this source * abstracts encounters a failure and is unable to return ATOM data. */ AtomSourceResult poll() throws AtomSourceException; }