1 19 20 package za.org.coefficient.core; 21 22 27 public abstract class HardURLConverter { 28 29 31 32 private HardURLConverter sibling; 33 34 36 public void setSibling(HardURLConverter val) { 37 this.sibling = val; 38 } 39 40 public HardURLConverter getSibling() { 41 return sibling; 42 } 43 44 public void append(HardURLConverter val) { 45 last().setSibling(val); 46 } 47 48 public String invoke(String url) throws Exception { 49 50 String result = handleInvoke(url); 52 53 if(result == null) { 55 if (sibling != null) { 56 result = sibling.invoke(url); 57 } 58 } 59 60 return result; 61 } 62 63 public HardURLConverter last() { 64 HardURLConverter result = this; 65 if (sibling != null) { 66 do { 67 result = result.sibling; 68 } while (result.sibling != null); 69 } 70 71 return result; 72 } 73 74 protected String handleInvoke(String url) throws Exception { 75 return null; 76 } 77 } 78 | Popular Tags |