Add window listener to main frame.
[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 new key store was created.
50          *
51          * @see CoreListener#keyStoreCreated(KeyStore)
52          * @param keyStore
53          *            The key store that was created
54          */
55         public void fireKeyStoreCreated(KeyStore keyStore) {
56                 for (CoreListener coreListener : getListeners()) {
57                         coreListener.keyStoreCreated(keyStore);
58                 }
59         }
60
61         /**
62          * Notifies all listeners that a key store could not be created.
63          *
64          * @param keyStoreType
65          *            The type of the key store
66          * @param reason
67          *            The reason why the key store could not be created
68          */
69         public void fireKeyStoreNotCreated(String keyStoreType, Throwable reason) {
70                 for (CoreListener coreListener : getListeners()) {
71                         coreListener.keyStoreNotCreated(keyStoreType, reason);
72                 }
73         }
74
75         /**
76          * Notifies all listeners that a keystore was loaded from a file.
77          *
78          * @see CoreListener#keyStoreLoaded(File, KeyStore)
79          * @param keyStoreFile
80          *            The keystore file
81          * @param keyStore
82          *            The loaded keystore
83          */
84         public void fireKeyStoreLoaded(File keyStoreFile, KeyStore keyStore) {
85                 for (CoreListener coreListener : getListeners()) {
86                         coreListener.keyStoreLoaded(keyStoreFile, keyStore);
87                 }
88         }
89
90         /**
91          * Notifies all listeners that a keystore could not be loaded from a file.
92          *
93          * @param keyStoreFile
94          *            The keystore file
95          */
96         public void fireKeyStoreNotLoaded(File keyStoreFile) {
97                 for (CoreListener coreListener : getListeners()) {
98                         coreListener.keyStoreNotLoaded(keyStoreFile);
99                 }
100         }
101
102 }