1 25 package org.archive.crawler.deciderules; 26 27 import org.archive.crawler.datamodel.CrawlURI; 28 import org.archive.crawler.settings.SimpleType; 29 30 31 32 38 public class FetchStatusDecideRule extends PredicatedDecideRule { 39 40 private static final long serialVersionUID = 5820599300395594619L; 41 42 private static final String ATTR_TARGET_STATUS = "target-status"; 43 44 47 static final Integer DEFAULT_TARGET_STATUS = new Integer (0); 48 49 53 public FetchStatusDecideRule(String name) { 54 super(name); 55 setDescription("FetchStatusDecideRule. Applies configured decision " + 56 "to any URI that has a fetch status equal to the setting."); 57 addElementToDefinition(new SimpleType(ATTR_TARGET_STATUS, 58 "Fetch status for which the configured decision will be" + 59 "applied.", DEFAULT_TARGET_STATUS)); 60 } 61 62 69 protected boolean evaluate(Object object) { 70 try { 71 CrawlURI curi = (CrawlURI)object; 72 return curi.getFetchStatus() == 73 (Integer )getUncheckedAttribute(curi,ATTR_TARGET_STATUS); 74 } catch (ClassCastException e) { 75 return false; 77 } 78 } 79 } 80 | Popular Tags |