Coverage details for base.jdbs.cryptography.KeyRing

LineHitsSource
1 /*******************************************************************************
2  *InternetCafe is a software solution that helps the management of Cybercafes
3  * according with the ITALIAN DECREE LAW ON ANTI-TERROR MEASURES, 27 JULY 2005.
4  * Copyright (C) 2006 Guido Angelo Ingenito
5  
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  *******************************************************************************/
20 package base.jdbs.cryptography;
21  
22 import java.io.File;
23 import java.security.KeyStore;
24 import java.util.Collection;
25 import java.util.Enumeration;
26 import java.util.Hashtable;
27  
28 import org.apache.log4j.Logger;
29  
30  
310public abstract class KeyRing<K> {
32     
330    private static final transient Logger logger = Logger.getLogger(KeyRing.class.getName());
34  
35     /**The AsymmetricKeyRings' element collection.**/
360    private Hashtable<Integer, K> element = new Hashtable<Integer , K>();
37     
38     /**The current element id.**/
390    private int currentElementId = 0;
40     
41     /**
42      * This method computes a new Id for a KeyPair.
43      * @return A new Id for a KeyPair.
44      */
45     protected Integer nextElementId(){
460        return ++currentElementId;
47     }
48     
49     /**
50      * This method adds to the KeyRing the target object.
51      * @param id The id associated to the object.
52      * @param object The object to be added.
53      */
54     protected void add(Integer id, K object){
550        this.element.put(id, object);
560    }
57     
58     /**
59      * This method removes a stored element from the KeyRing.
60      * @param id The id associated to the element to remove.
61      */
62     protected void remove(Integer id){
630        this.element.remove(id);
640    }
65     
66     /**
67      * This method removes all the stored elements from the KeyRing.
68      */
69     protected void removeAll(){
700        Enumeration keys = element.keys();
710        for(;keys.hasMoreElements();)
720            this.element.remove(keys.nextElement());
730    }
74     
75     /**
76      * This method retrieves a stored element by id.
77      * @param id The id associated to the element to retrieve.
78      * @return The stored element otherwise null.
79      */
80     protected K get(Integer id){
810        return this.element.get(id);
82     }
83     
84     /**
85      * This method returns a collection of all stored elements.
86      * @return A collection of stored elements.
87      */
88     protected Collection<K> getAll(){
890        return this.element.values();
90     }
91     
92     /**
93      * This method saves the content of the key ring in a file system location.
94      * @param location The location where the key ring must be stored.
95      * @param password The password associated to the file.
96      */
97     public abstract void store(File location, String password);
98     
99     /**
100      * This method retrieves the content of a stored key ring from a file system location.
101      * @param location The location from wich the content of the key ring must be retrieved.
102      * @param password The password associated to the file.
103      * @return The KeyStore associated to the input location, null if the input location isn't a valid key store archive.
104      */
105     public abstract KeyStore retrieve(File location, String password);
106     
107 }

this report was generated by version 1.0.5 of jcoverage.
visit www.jcoverage.com for updates.

copyright © 2003, jcoverage ltd. all rights reserved.
Java is a trademark of Sun Microsystems, Inc. in the United States and other countries.