1 22 23 package org.continuent.sequoia.controller.backend.rewriting; 24 25 import org.continuent.sequoia.common.xml.DatabasesXmlTags; 26 27 34 public abstract class AbstractRewritingRule 35 { 36 protected String queryPattern; 37 protected String rewrite; 38 protected boolean isCaseSensitive; 39 protected boolean stopOnMatch; 40 protected boolean hasMatched; 41 42 51 public AbstractRewritingRule(String queryPattern, String rewrite, 52 boolean caseSensitive, boolean stopOnMatch) 53 { 54 this.queryPattern = queryPattern; 55 this.rewrite = rewrite; 56 this.isCaseSensitive = caseSensitive; 57 this.stopOnMatch = stopOnMatch; 58 this.hasMatched = false; 59 } 60 61 70 public boolean hasMatched() 71 { 72 return hasMatched; 73 } 74 75 84 public abstract String rewrite(String sqlQuery); 85 86 91 public boolean isCaseSensitive() 92 { 93 return isCaseSensitive; 94 } 95 96 101 public String getQueryPattern() 102 { 103 return queryPattern; 104 } 105 106 111 public String getRewrite() 112 { 113 return rewrite; 114 } 115 116 121 public boolean isStopOnMatch() 122 { 123 return stopOnMatch; 124 } 125 126 131 public String getXml() 132 { 133 return "<" + DatabasesXmlTags.ELT_RewritingRule + " " 134 + DatabasesXmlTags.ATT_queryPattern + "=\"" + queryPattern + "\" " 135 + DatabasesXmlTags.ATT_rewrite + "=\"" + rewrite + "\" " 136 + DatabasesXmlTags.ATT_caseSensitive + "=\"" + isCaseSensitive + "\" " 137 + DatabasesXmlTags.ATT_stopOnMatch + "=\"" + stopOnMatch + "\"/>"; 138 } 139 140 } 141 | Popular Tags |