1 21 22 package org.continuent.sequoia.controller.authentication; 23 24 import java.io.Serializable ; 25 26 import org.continuent.sequoia.common.xml.DatabasesXmlTags; 27 28 35 public class AccessControlRule implements Serializable 36 { 37 private static final long serialVersionUID = 3819548176980894237L; 38 39 private boolean accept; 40 private String address; 41 42 48 public AccessControlRule(boolean accept, String address) 49 { 50 this.accept = accept; 51 this.address = address; 52 if (address == null) 53 throw new NullPointerException ( 54 "Invalid null address in AccessControlRule"); 55 } 56 57 62 public boolean isAccept() 63 { 64 return accept; 65 } 66 67 73 public boolean addressMatchesRule(String clientAddress) 74 { 75 return (address.equals(clientAddress)); 77 } 78 79 82 public boolean equals(Object obj) 83 { 84 if (obj instanceof AccessControlRule) 85 { 86 AccessControlRule rule = (AccessControlRule) obj; 87 return address.equalsIgnoreCase(rule.address); 88 } 89 return false; 90 } 91 92 97 public String getXml() 98 { 99 StringBuffer xml = new StringBuffer ("<"); 100 if (accept) 101 xml.append(DatabasesXmlTags.ELT_Accept); 102 else 103 xml.append(DatabasesXmlTags.ELT_Deny); 104 xml.append(" " + DatabasesXmlTags.ATT_address + "=\"" + address + "\"/>"); 105 return xml.toString(); 106 } 107 108 111 public int hashCode() 112 { 113 return address.hashCode(); 114 } 115 116 119 public String toString() 120 { 121 if (accept) 122 return "Accept " + address; 123 else 124 return "Deny " + address; 125 } 126 127 } 128 | Popular Tags |