Revision: 2475 http://archive-access.svn.sourceforge.net/archive-access/?rev=2475&view=rev Author: bradtofel Date: 2008-07-22 01:52:21 +0000 (Tue, 22 Jul 2008) Log Message: ----------- INITIAL REV: Generic ReplayDispatcher, which using the new ReplayRendererSelector classes, can now be used for all Replay modes. Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java 2008-07-22 01:52:21 UTC (rev 2475) @@ -0,0 +1,64 @@ +/* SelectorReplayDispatcher + * + * $Id$ + * + * Created on 11:46:40 AM Jul 18, 2008. + * + * Copyright (C) 2008 Internet Archive. + * + * This file is part of wayback. + * + * wayback is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * any later version. + * + * wayback is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser Public License for more details. + * + * You should have received a copy of the GNU Lesser Public License + * along with wayback; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +package org.archive.wayback.replay; + +import java.util.List; + +import org.archive.wayback.ReplayDispatcher; +import org.archive.wayback.ReplayRenderer; +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.Resource; +import org.archive.wayback.core.WaybackRequest; + +/** + * + * + * @author brad + * @version $Date$, $Revision$ + */ +public class SelectorReplayDispatcher implements ReplayDispatcher { + private List<ReplayRendererSelector> selectors = null; + /* (non-Javadoc) + * @see org.archive.wayback.ReplayDispatcher#getRenderer(org.archive.wayback.core.WaybackRequest, org.archive.wayback.core.CaptureSearchResult, org.archive.wayback.core.Resource) + */ + public ReplayRenderer getRenderer(WaybackRequest wbRequest, + CaptureSearchResult result, Resource resource) { + if(selectors != null) { + for(ReplayRendererSelector selector : selectors) { + if(selector.canHandle(wbRequest, result, resource)) { + return selector.getRenderer(); + } + } + } + return null; + } + public List<ReplayRendererSelector> getSelectors() { + return selectors; + } + public void setSelectors(List<ReplayRendererSelector> selectors) { + this.selectors = selectors; + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |