00001
00027 package org.objectweb.jonas_web.deployment.api;
00028
00029 import java.util.ArrayList;
00030 import java.util.Iterator;
00031 import java.util.List;
00032
00039 public class MethodDesc {
00040
00044 private String name = null;
00045
00046
00050 private boolean excluded = false;
00051
00052
00056 private boolean unchecked = true;
00057
00061 private TransportGuaranteeDesc transportGuarantee;
00062
00063
00069 private List roles = null;
00070
00071
00077 public MethodDesc(String name) {
00078 this.name = name.toUpperCase();
00079 this.roles = new ArrayList();
00080 this.transportGuarantee = new TransportGuaranteeDesc();
00081 }
00082
00083
00088 public boolean isExcluded() {
00089 return excluded;
00090 }
00091
00096 public boolean isUnchecked() {
00097 return unchecked;
00098 }
00099
00103 public void setExcluded() {
00104 excluded = true;
00105 unchecked = false;
00106 }
00107
00111 public void setUnchecked() {
00112 excluded = false;
00113 unchecked = true;
00114 }
00115
00116
00121 public void addTransportGuarantee(String transportGuaranteeValue) {
00122 transportGuarantee.addTransportValue(transportGuaranteeValue);
00123 }
00124
00125
00131 public void addRole(String role, String transportGuaranteeRoleValue) {
00132 if (!roles.contains(role)) {
00133 roles.add(role);
00134 }
00135 addTransportGuarantee(transportGuaranteeRoleValue);
00136 }
00137
00138
00143 public boolean hasRole() {
00144 return (roles.size() > 0);
00145 }
00146
00147
00152 public String getName() {
00153 return name;
00154 }
00155
00156
00161 public Iterator getRolesIterator() {
00162 return roles.iterator();
00163 }
00164
00165
00170 public TransportGuaranteeDesc getTransportGuarantee() {
00171 return transportGuarantee;
00172 }
00173
00174
00175
00182 public boolean equals(Object other) {
00183 if (other instanceof String) {
00184 return name.equals(other);
00185 } else if (other instanceof MethodDesc) {
00186 return name.equals(((MethodDesc) other).getName());
00187 } else {
00188 return false;
00189 }
00190 }
00191
00196 public int hashCode() {
00197 return name.hashCode();
00198 }
00199
00200
00205 public String toString() {
00206 StringBuffer sb = new StringBuffer();
00207 sb.append("Method[name=");
00208 sb.append(name);
00209
00210 if (excluded) {
00211 sb.append(";excluded");
00212 }
00213
00214 if (unchecked) {
00215 sb.append(";unchecked");
00216 }
00217
00218 sb.append(transportGuarantee);
00219
00220
00221
00222 sb.append(";roles=");
00223 for (Iterator it = getRolesIterator(); it.hasNext();) {
00224 String role = (String) it.next();
00225 sb.append(role);
00226 }
00227 sb.append("]");
00228 return sb.toString();
00229
00230 }
00231 }