1 package com.opensymphony.module.sitemesh.html; 2 3 public abstract class BasicRule implements TagRule { 4 5 private final String [] acceptableTagNames; 6 7 protected HTMLProcessorContext context; 8 9 protected BasicRule(String [] acceptableTagNames) { 10 this.acceptableTagNames = acceptableTagNames; 11 } 12 13 protected BasicRule(String acceptableTagName) { 14 this.acceptableTagNames = new String [] {acceptableTagName}; 15 } 16 17 protected BasicRule() { 18 this.acceptableTagNames = null; 19 } 20 21 public void setContext(HTMLProcessorContext context) { 22 this.context = context; 23 } 24 25 public boolean shouldProcess(String name) { 26 if (acceptableTagNames == null || acceptableTagNames.length < 1) { 27 throw new UnsupportedOperationException (getClass().getName() 28 + " should be constructed with acceptableTagNames OR should implement shouldProcess()"); 29 } 30 31 for (int i=0; i<acceptableTagNames.length; i++) { 32 if (name.toLowerCase().equals(acceptableTagNames[i])) return true; 33 } 34 return false; 35 } 36 37 public abstract void process(Tag tag); 38 39 } 40 | Popular Tags |