Add listener support for CoreListener.
[jkeytool.git] / src / net / pterodactylus / jkeytool / core / CoreListenerSupport.java
1 /*
2  * jkeytool - CoreListenerSupport.java -
3  * Copyright © 2009 David Roden
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  */
19
20 package net.pterodactylus.jkeytool.core;
21
22 import java.io.File;
23 import java.security.KeyStore;
24
25 import de.ina.util.event.AbstractListenerSupport;
26
27 /**
28  * Helper class to fire {@link CoreListener} events to registered listeners.
29  *
30  * @author David Roden <droden@gmail.com>
31  */
32 public class CoreListenerSupport extends AbstractListenerSupport<Core, CoreListener> {
33
34         /**
35          * Creates a new core listener support.
36          *
37          * @param source
38          *            The event-emitting core
39          */
40         public CoreListenerSupport(Core source) {
41                 super(source);
42         }
43
44         //
45         // EVENT METHODS
46         //
47
48         /**
49          * Notifies all listeners that a keystore was loaded from a file.
50          *
51          * @see CoreListener#keyStoreLoaded(File, KeyStore)
52          * @param keyStoreFile
53          *            The keystore file
54          * @param keyStore
55          *            The loaded keystore
56          */
57         public void fireKeyStoreLoaded(File keyStoreFile, KeyStore keyStore) {
58                 for (CoreListener coreListener : getListeners()) {
59                         coreListener.keyStoreLoaded(keyStoreFile, keyStore);
60                 }
61         }
62
63         /**
64          * Notifies all listeners that a keystore could not be loaded from a file.
65          *
66          * @param keyStoreFile
67          *            The keystore file
68          */
69         public void fireKeyStoreNotLoaded(File keyStoreFile) {
70                 for (CoreListener coreListener : getListeners()) {
71                         coreListener.keyStoreNotLoaded(keyStoreFile);
72                 }
73         }
74
75 }