| 1 32 33 package websphinx.workbench; 34 35 import websphinx.*; 36 37 public class LabelPredicate implements LinkPredicate, PagePredicate { 38 String labels; 39 boolean orTerms; 40 41 public LabelPredicate (String labels, boolean orTerms) { 42 this.labels = labels; 43 this.orTerms = orTerms; 44 } 45 46 public boolean equals (Object object) { 47 if (! (object instanceof LabelPredicate)) 48 return false; 49 LabelPredicate p = (LabelPredicate)object; 50 return p.labels.equals (labels) 51 && p.orTerms == orTerms; 52 } 53 54 public String getLabels () { 55 return labels; 56 } 57 58 public boolean getOrTerms () { 59 return orTerms; 60 } 61 62 public void connected (Crawler crawler) {} 63 public void disconnected (Crawler crawler) {} 64 65 public boolean shouldVisit (Link link) { 66 return orTerms ? link.hasAnyLabels (labels) : link.hasAllLabels (labels); 67 } 68 69 public boolean shouldActOn (Page page) { 70 return orTerms ? page.hasAnyLabels (labels) : page.hasAllLabels (labels); 71 } 72 } 73 74 | Popular Tags |