MethodDesc.java

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         // excluded
00210         if (excluded) {
00211             sb.append(";excluded");
00212         }
00213         // unchecked
00214         if (unchecked) {
00215             sb.append(";unchecked");
00216         }
00217         // transportGuarantee
00218         sb.append(transportGuarantee);
00219 
00220 
00221         // roles
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 }

Generated on Tue Feb 15 15:05:45 2005 for JOnAS by  doxygen 1.3.9.1