2 * jFCPlib - FcpListenerManager.java - Copyright © 2009 David Roden
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 package net.pterodactylus.fcp;
21 import net.pterodactylus.util.event.AbstractListenerManager;
24 * Manages FCP listeners and event firing.
26 * @author David ‘Bombe’ Roden <bombe@pterodactylus.net>
28 public class FcpListenerManager extends AbstractListenerManager<FcpConnection, FcpListener> {
31 * Creates a new listener manager.
33 * @param fcpConnection
34 * The source FCP connection
36 public FcpListenerManager(FcpConnection fcpConnection) {
41 * Notifies listeners that a “NodeHello” message was received.
43 * @see FcpListener#receivedNodeHello(FcpConnection, NodeHello)
45 * The “NodeHello” message
47 public void fireReceivedNodeHello(NodeHello nodeHello) {
48 for (FcpListener fcpListener : getListeners()) {
49 fcpListener.receivedNodeHello(getSource(), nodeHello);
54 * Notifies listeners that a “CloseConnectionDuplicateClientName” message
57 * @see FcpListener#receivedCloseConnectionDuplicateClientName(FcpConnection,
58 * CloseConnectionDuplicateClientName)
59 * @param closeConnectionDuplicateClientName
60 * The “CloseConnectionDuplicateClientName” message
62 public void fireReceivedCloseConnectionDuplicateClientName(CloseConnectionDuplicateClientName closeConnectionDuplicateClientName) {
63 for (FcpListener fcpListener : getListeners()) {
64 fcpListener.receivedCloseConnectionDuplicateClientName(getSource(), closeConnectionDuplicateClientName);
69 * Notifies listeners that a “SSKKeypair” message was received.
71 * @see FcpListener#receivedSSKKeypair(FcpConnection, SSKKeypair)
73 * The “SSKKeypair” message
75 public void fireReceivedSSKKeypair(SSKKeypair sskKeypair) {
76 for (FcpListener fcpListener : getListeners()) {
77 fcpListener.receivedSSKKeypair(getSource(), sskKeypair);
82 * Notifies listeners that a “Peer” message was received.
84 * @see FcpListener#receivedPeer(FcpConnection, Peer)
88 public void fireReceivedPeer(Peer peer) {
89 for (FcpListener fcpListener : getListeners()) {
90 fcpListener.receivedPeer(getSource(), peer);
95 * Notifies all listeners that an “EndListPeers” message was received.
97 * @see FcpListener#receivedEndListPeers(FcpConnection, EndListPeers)
99 * The “EndListPeers” message
101 public void fireReceivedEndListPeers(EndListPeers endListPeers) {
102 for (FcpListener fcpListener : getListeners()) {
103 fcpListener.receivedEndListPeers(getSource(), endListPeers);
108 * Notifies all listeners that a “PeerNote” message was received.
110 * @see FcpListener#receivedPeerNote(FcpConnection, PeerNote)
112 * The “PeerNote” message
114 public void fireReceivedPeerNote(PeerNote peerNote) {
115 for (FcpListener fcpListener : getListeners()) {
116 fcpListener.receivedPeerNote(getSource(), peerNote);
121 * Notifies all listeners that an “EndListPeerNotes” message was received.
123 * @see FcpListener#receivedEndListPeerNotes(FcpConnection,
125 * @param endListPeerNotes
126 * The “EndListPeerNotes” message
128 public void fireReceivedEndListPeerNotes(EndListPeerNotes endListPeerNotes) {
129 for (FcpListener fcpListener : getListeners()) {
130 fcpListener.receivedEndListPeerNotes(getSource(), endListPeerNotes);
135 * Notifies all listeners that a “PeerRemoved” message was received.
137 * @see FcpListener#receivedPeerRemoved(FcpConnection, PeerRemoved)
139 * The “PeerRemoved” message
141 public void fireReceivedPeerRemoved(PeerRemoved peerRemoved) {
142 for (FcpListener fcpListener : getListeners()) {
143 fcpListener.receivedPeerRemoved(getSource(), peerRemoved);
148 * Notifies all listeners that a “NodeData” message was received.
150 * @see FcpListener#receivedNodeData(FcpConnection, NodeData)
152 * The “NodeData” message
154 public void fireReceivedNodeData(NodeData nodeData) {
155 for (FcpListener fcpListener : getListeners()) {
156 fcpListener.receivedNodeData(getSource(), nodeData);
161 * Notifies all listeners that a “TestDDAReply” message was received.
163 * @see FcpListener#receivedTestDDAReply(FcpConnection, TestDDAReply)
164 * @param testDDAReply
165 * The “TestDDAReply” message
167 public void fireReceivedTestDDAReply(TestDDAReply testDDAReply) {
168 for (FcpListener fcpListener : getListeners()) {
169 fcpListener.receivedTestDDAReply(getSource(), testDDAReply);
174 * Notifies all listeners that a “TestDDAComplete” message was received.
176 * @see FcpListener#receivedTestDDAComplete(FcpConnection, TestDDAComplete)
177 * @param testDDAComplete
178 * The “TestDDAComplete” message
180 public void fireReceivedTestDDAComplete(TestDDAComplete testDDAComplete) {
181 for (FcpListener fcpListener : getListeners()) {
182 fcpListener.receivedTestDDAComplete(getSource(), testDDAComplete);
187 * Notifies all listeners that a “PersistentGet” message was received.
189 * @see FcpListener#receivedPersistentGet(FcpConnection, PersistentGet)
190 * @param persistentGet
191 * The “PersistentGet” message
193 public void fireReceivedPersistentGet(PersistentGet persistentGet) {
194 for (FcpListener fcpListener : getListeners()) {
195 fcpListener.receivedPersistentGet(getSource(), persistentGet);
200 * Notifies all listeners that a “PersistentPut” message was received.
202 * @see FcpListener#receivedPersistentPut(FcpConnection, PersistentPut)
203 * @param persistentPut
204 * The “PersistentPut” message
206 public void fireReceivedPersistentPut(PersistentPut persistentPut) {
207 for (FcpListener fcpListener : getListeners()) {
208 fcpListener.receivedPersistentPut(getSource(), persistentPut);
213 * Notifies all listeners that a “EndListPersistentRequests” message was
216 * @see FcpListener#receivedEndListPersistentRequests(FcpConnection,
217 * EndListPersistentRequests)
218 * @param endListPersistentRequests
219 * The “EndListPersistentRequests” message
221 public void fireReceivedEndListPersistentRequests(EndListPersistentRequests endListPersistentRequests) {
222 for (FcpListener fcpListener : getListeners()) {
223 fcpListener.receivedEndListPersistentRequests(getSource(), endListPersistentRequests);
228 * Notifies all listeners that a “URIGenerated” message was received.
230 * @see FcpListener#receivedURIGenerated(FcpConnection, URIGenerated)
231 * @param uriGenerated
232 * The “URIGenerated” message
234 public void fireReceivedURIGenerated(URIGenerated uriGenerated) {
235 for (FcpListener fcpListener : getListeners()) {
236 fcpListener.receivedURIGenerated(getSource(), uriGenerated);
241 * Notifies all listeners that a “DataFound” message was received.
243 * @see FcpListener#receivedDataFound(FcpConnection, DataFound)
245 * The “DataFound” message
247 public void fireReceivedDataFound(DataFound dataFound) {
248 for (FcpListener fcpListener : getListeners()) {
249 fcpListener.receivedDataFound(getSource(), dataFound);
254 * Notifies all listeners that an “AllData” message was received.
256 * @see FcpListener#receivedAllData(FcpConnection, AllData)
258 * The “AllData” message
260 public void fireReceivedAllData(AllData allData) {
261 for (FcpListener fcpListener : getListeners()) {
262 fcpListener.receivedAllData(getSource(), allData);
267 * Notifies all listeners that a “SimpleProgress” message was received.
269 * @see FcpListener#receivedSimpleProgress(FcpConnection, SimpleProgress)
270 * @param simpleProgress
271 * The “SimpleProgress” message
273 public void fireReceivedSimpleProgress(SimpleProgress simpleProgress) {
274 for (FcpListener fcpListener : getListeners()) {
275 fcpListener.receivedSimpleProgress(getSource(), simpleProgress);
280 * Notifies all listeners that a “StartedCompression” message was received.
282 * @see FcpListener#receivedStartedCompression(FcpConnection,
283 * StartedCompression)
284 * @param startedCompression
285 * The “StartedCompression” message
287 public void fireReceivedStartedCompression(StartedCompression startedCompression) {
288 for (FcpListener fcpListener : getListeners()) {
289 fcpListener.receivedStartedCompression(getSource(), startedCompression);
294 * Notifies all listeners that a “FinishedCompression” message was received.
296 * @see FcpListener#receivedFinishedCompression(FcpConnection,
297 * FinishedCompression)
298 * @param finishedCompression
299 * The “FinishedCompression” message
301 public void fireReceivedFinishedCompression(FinishedCompression finishedCompression) {
302 for (FcpListener fcpListener : getListeners()) {
303 fcpListener.receivedFinishedCompression(getSource(), finishedCompression);
308 * Notifies all listeners that an “UnknownPeerNoteType” message was
311 * @see FcpListener#receivedUnknownPeerNoteType(FcpConnection,
312 * UnknownPeerNoteType)
313 * @param unknownPeerNoteType
314 * The “UnknownPeerNoteType” message
316 public void fireReceivedUnknownPeerNoteType(UnknownPeerNoteType unknownPeerNoteType) {
317 for (FcpListener fcpListener : getListeners()) {
318 fcpListener.receivedUnknownPeerNoteType(getSource(), unknownPeerNoteType);
323 * Notifies all listeners that an “UnknownNodeIdentifier” message was
326 * @see FcpListener#receivedUnknownNodeIdentifier(FcpConnection,
327 * UnknownNodeIdentifier)
328 * @param unknownNodeIdentifier
329 * The “UnknownNodeIdentifier” message
331 public void fireReceivedUnknownNodeIdentifier(UnknownNodeIdentifier unknownNodeIdentifier) {
332 for (FcpListener fcpListener : getListeners()) {
333 fcpListener.receivedUnknownNodeIdentifier(getSource(), unknownNodeIdentifier);
338 * Notifies all listeners that a “ConfigData” message was received.
340 * @see FcpListener#receivedConfigData(FcpConnection, ConfigData)
342 * The “ConfigData” message
344 public void fireReceivedConfigData(ConfigData configData) {
345 for (FcpListener fcpListener : getListeners()) {
346 fcpListener.receivedConfigData(getSource(), configData);
351 * Notifies all listeners that a “GetFailed” message was received.
353 * @see FcpListener#receivedGetFailed(FcpConnection, GetFailed)
355 * The “GetFailed” message
357 public void fireReceivedGetFailed(GetFailed getFailed) {
358 for (FcpListener fcpListener : getListeners()) {
359 fcpListener.receivedGetFailed(getSource(), getFailed);
364 * Notifies all listeners that a “PutFailed” message was received.
366 * @see FcpListener#receivedPutFailed(FcpConnection, PutFailed)
368 * The “PutFailed” message
370 public void fireReceivedPutFailed(PutFailed putFailed) {
371 for (FcpListener fcpListener : getListeners()) {
372 fcpListener.receivedPutFailed(getSource(), putFailed);
377 * Notifies all listeners that an “IdentifierCollision” message was
380 * @see FcpListener#receivedIdentifierCollision(FcpConnection,
381 * IdentifierCollision)
382 * @param identifierCollision
383 * The “IdentifierCollision” message
385 public void fireReceivedIdentifierCollision(IdentifierCollision identifierCollision) {
386 for (FcpListener fcpListener : getListeners()) {
387 fcpListener.receivedIdentifierCollision(getSource(), identifierCollision);
392 * Notifies all listeners that an “PersistentPutDir” message was received.
394 * @see FcpListener#receivedPersistentPutDir(FcpConnection,
396 * @param persistentPutDir
397 * The “PersistentPutDir” message
399 public void fireReceivedPersistentPutDir(PersistentPutDir persistentPutDir) {
400 for (FcpListener fcpListener : getListeners()) {
401 fcpListener.receivedPersistentPutDir(getSource(), persistentPutDir);
406 * Notifies all listeners that a “PersistentRequestRemoved” message was
409 * @see FcpListener#receivedPersistentRequestRemoved(FcpConnection,
410 * PersistentRequestRemoved)
411 * @param persistentRequestRemoved
412 * The “PersistentRequestRemoved” message
414 public void fireReceivedPersistentRequestRemoved(PersistentRequestRemoved persistentRequestRemoved) {
415 for (FcpListener fcpListener : getListeners()) {
416 fcpListener.receivedPersistentRequestRemoved(getSource(), persistentRequestRemoved);
421 * Notifies all listeners that a “SubscribedUSKUpdate” message was received.
423 * @see FcpListener#receivedSubscribedUSKUpdate(FcpConnection,
424 * SubscribedUSKUpdate)
425 * @param subscribedUSKUpdate
426 * The “SubscribedUSKUpdate” message
428 public void fireReceivedSubscribedUSKUpdate(SubscribedUSKUpdate subscribedUSKUpdate) {
429 for (FcpListener fcpListener : getListeners()) {
430 fcpListener.receivedSubscribedUSKUpdate(getSource(), subscribedUSKUpdate);
435 * Notifies all listeners that a “PluginInfo” message was received.
437 * @see FcpListener#receivedPluginInfo(FcpConnection, PluginInfo)
439 * The “PluginInfo” message
441 public void fireReceivedPluginInfo(PluginInfo pluginInfo) {
442 for (FcpListener fcpListener : getListeners()) {
443 fcpListener.receivedPluginInfo(getSource(), pluginInfo);
448 * Notifies all listeners that an “FCPPluginReply” message was received.
450 * @see FcpListener#receivedFCPPluginReply(FcpConnection, FCPPluginReply)
451 * @param fcpPluginReply
452 * The “FCPPluginReply” message
454 public void fireReceivedFCPPluginReply(FCPPluginReply fcpPluginReply) {
455 for (FcpListener fcpListener : getListeners()) {
456 fcpListener.receivedFCPPluginReply(getSource(), fcpPluginReply);
461 * Notifies all listeners that a “PersistentRequestModified” message was
464 * @see FcpListener#receivedPersistentRequestModified(FcpConnection,
465 * PersistentRequestModified)
466 * @param persistentRequestModified
467 * The “PersistentRequestModified” message
469 public void fireReceivedPersistentRequestModified(PersistentRequestModified persistentRequestModified) {
470 for (FcpListener fcpListener : getListeners()) {
471 fcpListener.receivedPersistentRequestModified(getSource(), persistentRequestModified);
476 * Notifies all listeners that a “PutSuccessful” message was received.
478 * @see FcpListener#receivedPutSuccessful(FcpConnection, PutSuccessful)
479 * @param putSuccessful
480 * The “PutSuccessful” message
482 public void fireReceivedPutSuccessful(PutSuccessful putSuccessful) {
483 for (FcpListener fcpListener : getListeners()) {
484 fcpListener.receivedPutSuccessful(getSource(), putSuccessful);
489 * Notifies all listeners that a “PutFetchable” message was received.
491 * @see FcpListener#receivedPutFetchable(FcpConnection, PutFetchable)
492 * @param putFetchable
493 * The “PutFetchable” message
495 public void fireReceivedPutFetchable(PutFetchable putFetchable) {
496 for (FcpListener fcpListener : getListeners()) {
497 fcpListener.receivedPutFetchable(getSource(), putFetchable);
502 * Notifies all listeners that a “ProtocolError” message was received.
504 * @see FcpListener#receivedProtocolError(FcpConnection, ProtocolError)
505 * @param protocolError
506 * The “ProtocolError” message
508 public void fireReceivedProtocolError(ProtocolError protocolError) {
509 for (FcpListener fcpListener : getListeners()) {
510 fcpListener.receivedProtocolError(getSource(), protocolError);
515 * Notifies all listeners that a “SentFeed” message was received.
517 * @see FcpListener#receivedSentFeed(FcpConnection, SentFeed)
519 * The “SentFeed” message.
521 public void fireSentFeed(SentFeed sentFeed) {
522 for (FcpListener fcpListener : getListeners()) {
523 fcpListener.receivedSentFeed(getSource(), sentFeed);
528 * Notifies all listeners that a “ReceivedBookmarkFeed” message was
531 * @see FcpListener#receivedBookmarkFeed(FcpConnection,
532 * ReceivedBookmarkFeed)
533 * @param receivedBookmarkFeed
534 * The “ReceivedBookmarkFeed” message
536 public void fireReceivedBookmarkFeed(ReceivedBookmarkFeed receivedBookmarkFeed) {
537 for (FcpListener fcpListener : getListeners()) {
538 fcpListener.receivedBookmarkFeed(getSource(), receivedBookmarkFeed);
543 * Notifies all registered listeners that a message has been received.
545 * @see FcpListener#receivedMessage(FcpConnection, FcpMessage)
547 * The message that was received
549 public void fireMessageReceived(FcpMessage fcpMessage) {
550 for (FcpListener fcpListener : getListeners()) {
551 fcpListener.receivedMessage(getSource(), fcpMessage);
556 * Notifies all listeners that the connection to the node was closed.
559 * The exception that caused the disconnect, or <code>null</code>
560 * if there was no exception
561 * @see FcpListener#connectionClosed(FcpConnection, Throwable)
563 public void fireConnectionClosed(Throwable throwable) {
564 for (FcpListener fcpListener : getListeners()) {
565 fcpListener.connectionClosed(getSource(), throwable);