1 package org.jacorb.notification.engine; 2 3 23 24 28 29 public class FilterSupplierAdminTask extends AbstractFilterTask 30 { 31 private static int sCount = 0; 32 33 private int id_ = ++sCount; 34 35 private boolean skip_ = false; 36 37 39 public FilterSupplierAdminTask(TaskFactory taskFactory, TaskExecutor taskExecutor) 40 { 41 super(taskFactory, taskExecutor); 42 } 43 44 46 public String toString() 47 { 48 return "[FilterSupplierAdminTask#" + id_ + "]"; 49 } 50 51 public void setSkip(boolean skip) 52 { 53 skip_ = skip; 54 } 55 56 public void reset() 57 { 58 super.reset(); 59 60 skip_ = false; 61 } 62 63 public void doFilter() throws InterruptedException 64 { 65 final boolean _forward = filter(); 66 67 if (_forward) 68 { 69 getTaskFactory().newFilterConsumerAdminTask(this).schedule(); 70 } 71 } 72 73 private boolean filter() 74 { 75 final boolean _forward; 76 77 80 if (!skip_) 81 { 82 _forward = getMessage().match(arrayCurrentFilterStage_[0]); 83 } 84 else 85 { 86 _forward = true; 87 } 88 89 if (_forward) 90 { 91 addFilterStage(arrayCurrentFilterStage_[0].getSubsequentFilterStages()); 92 } 93 94 return _forward; 95 } 96 } | Popular Tags |