Coverage report

  %line %branch
org.apache.turbine.util.security.SecuritySet
33% 
92% 

 1  
 package org.apache.turbine.util.security;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License")
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *     http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 import java.io.Serializable;
 20  
 
 21  
 import java.util.HashSet;
 22  
 import java.util.Iterator;
 23  
 import java.util.Map;
 24  
 import java.util.Set;
 25  
 import java.util.TreeMap;
 26  
 
 27  
 import org.apache.commons.lang.StringUtils;
 28  
 
 29  
 /**
 30  
  * This class represents a set of Security Entities.
 31  
  * It makes it easy to build a UI.
 32  
  * It wraps a TreeSet object to enforce that only relevant
 33  
  * methods are available.
 34  
  * TreeSet's contain only unique Objects (no duplicates).
 35  
  *
 36  
  * @author <a href="mailto:jmcnally@collab.net">John D. McNally</a>
 37  
  * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
 38  
  * @author <a href="mailto:marco@intermeta.de">Marco Kn&uuml;ttel</a>
 39  
  * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
 40  
  * @version $Id: SecuritySet.java 264148 2005-08-29 14:21:04Z henning $
 41  
  */
 42  
 public abstract class SecuritySet
 43  
         implements Serializable
 44  
 {
 45  
     /** Map for "name" -> "security object" */
 46  368
     protected Map nameMap = null;
 47  
 
 48  
     /** Map for "id" -> "security object" */
 49  368
     protected Map idMap = null;
 50  
 
 51  
     /**
 52  
      * Constructs an empty Set
 53  
      */
 54  
     public SecuritySet()
 55  368
     {
 56  368
         nameMap = new TreeMap();
 57  368
         idMap = new TreeMap();
 58  368
     }
 59  
 
 60  
     /**
 61  
      * Returns a set of security objects in this object.
 62  
      *
 63  
      * @return A Set Object
 64  
      *
 65  
      */
 66  
     public Set getSet()
 67  
     {
 68  0
         return new HashSet(nameMap.values());
 69  
     }
 70  
 
 71  
     /**
 72  
      * Returns a set of Names in this Object.
 73  
      *
 74  
      * @return The Set of Names in this Object,
 75  
      *         backed by the actual data.
 76  
      */
 77  
     public Set getNames()
 78  
     {
 79  0
         return nameMap.keySet();
 80  
     }
 81  
 
 82  
     /**
 83  
      * Returns a set of Id values in this Object.
 84  
      *
 85  
      * @return The Set of Ids in this Object,
 86  
      *         backed by the actual data.
 87  
      */
 88  
     public Set getIds()
 89  
     {
 90  0
         return idMap.keySet();
 91  
     }
 92  
 
 93  
     /**
 94  
      * Removes all Objects from this Set.
 95  
      */
 96  
     public void clear()
 97  
     {
 98  0
         nameMap.clear();
 99  0
         idMap.clear();
 100  0
     }
 101  
 
 102  
     /**
 103  
      * Searches if an Object with a given name is in the
 104  
      * Set
 105  
      *
 106  
      * @param roleName Name of the Security Object.
 107  
      * @return True if argument matched an Object in this Set; false
 108  
      * if no match.
 109  
      * @deprecated Use containsName(groupName) instead.
 110  
      */
 111  
     public boolean contains(String groupName)
 112  
     {
 113  0
         return containsName(groupName);
 114  
     }
 115  
 
 116  
     /**
 117  
      * Searches if an Object with a given name is in the
 118  
      * Set
 119  
      *
 120  
      * @param roleName Name of the Security Object.
 121  
      * @return True if argument matched an Object in this Set; false
 122  
      * if no match.
 123  
      */
 124  
     public boolean containsName(String name)
 125  
     {
 126  0
         return (StringUtils.isNotEmpty(name)) ? nameMap.containsKey(name) : false;
 127  
     }
 128  
 
 129  
     /**
 130  
      * Searches if an Object with a given Id is in the
 131  
      * Set
 132  
      *
 133  
      * @param id Id of the Security Object.
 134  
      * @return True if argument matched an Object in this Set; false
 135  
      * if no match.
 136  
      */
 137  
     public boolean containsId(int id)
 138  
     {
 139  0
         return (id == 0) ? false:  idMap.containsKey(new Integer(id));
 140  
     }
 141  
 
 142  
     /**
 143  
      * Returns an Iterator for Objects in this Set.
 144  
      *
 145  
      * @return An iterator for the Set
 146  
      */
 147  
     public Iterator iterator()
 148  
     {
 149  74
         return nameMap.values().iterator();
 150  
     }
 151  
 
 152  
     /**
 153  
      * @deprecated Use iterator() instead.
 154  
      */
 155  
     public Iterator elements()
 156  
     {
 157  0
         return iterator();
 158  
     }
 159  
 
 160  
     /**
 161  
      * Returns size (cardinality) of this set.
 162  
      *
 163  
      * @return The cardinality of this Set.
 164  
      */
 165  
     public int size()
 166  
     {
 167  54
         return nameMap.size();
 168  
     }
 169  
 
 170  
     /**
 171  
      * list of role names in this set
 172  
      *
 173  
      * @return The string representation of this Set.
 174  
      */
 175  
     public String toString()
 176  
     {
 177  0
         StringBuffer sbuf = new StringBuffer(12 * size());
 178  0
         for(Iterator it = nameMap.keySet().iterator(); it.hasNext(); )
 179  
         {
 180  0
             sbuf.append((String) it.next());
 181  
 
 182  0
             if(it.hasNext())
 183  
             {
 184  0
                 sbuf.append(", ");
 185  
             }
 186  
         }
 187  0
         return sbuf.toString();
 188  
     }
 189  
 }
 190  
 

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.