1 16 package org.apache.webapp.balancer.rules; 17 18 import javax.servlet.http.HttpServletRequest ; 19 20 21 28 public class RequestAttributeRule extends BaseRule { 29 33 private String attributeName; 34 35 41 private Object attributeValue; 42 43 48 public void setAttributeName(String theAttributeName) { 49 if (theAttributeName == null) { 50 throw new IllegalArgumentException ( 51 "attributeName cannot be null."); 52 } else { 53 attributeName = theAttributeName; 54 } 55 } 56 57 62 protected String getAttributeName() { 63 return attributeName; 64 } 65 66 71 public void setAttributeValue(Object theAttributeValue) { 72 attributeValue = theAttributeValue; 73 } 74 75 81 protected Object getAttributeValue() { 82 return attributeValue; 83 } 84 85 88 public boolean matches(HttpServletRequest request) { 89 Object actualAttributeValue = request.getAttribute(getAttributeName()); 90 91 if (actualAttributeValue == null) { 92 return (getAttributeValue() == null); 93 } else { 94 return (actualAttributeValue.equals(getAttributeValue())); 95 } 96 } 97 98 103 public String toString() { 104 StringBuffer buffer = new StringBuffer (); 105 106 buffer.append("["); 107 buffer.append(getClass().getName()); 108 buffer.append(": "); 109 110 buffer.append("Target attribute name: "); 111 buffer.append(getAttributeName()); 112 buffer.append(" / "); 113 114 buffer.append("Target attribute value: "); 115 buffer.append(getAttributeValue()); 116 buffer.append(" / "); 117 118 buffer.append("Redirect URL: "); 119 buffer.append(getRedirectUrl()); 120 121 buffer.append("]"); 122 123 return buffer.toString(); 124 } 125 } 126 127 128 | Popular Tags |