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)
113 public void fireReceivedPeerNote(PeerNote peerNote) {
114 for (FcpListener fcpListener : getListeners()) {
115 fcpListener.receivedPeerNote(getSource(), peerNote);
120 * Notifies all listeners that an “EndListPeerNotes” message was received.
122 * @see FcpListener#receivedEndListPeerNotes(FcpConnection,
124 * @param endListPeerNotes
125 * The “EndListPeerNotes” message
127 public void fireReceivedEndListPeerNotes(EndListPeerNotes endListPeerNotes) {
128 for (FcpListener fcpListener : getListeners()) {
129 fcpListener.receivedEndListPeerNotes(getSource(), endListPeerNotes);
134 * Notifies all listeners that a “PeerRemoved” message was received.
136 * @see FcpListener#receivedPeerRemoved(FcpConnection, PeerRemoved)
138 * The “PeerRemoved” message
140 public void fireReceivedPeerRemoved(PeerRemoved peerRemoved) {
141 for (FcpListener fcpListener : getListeners()) {
142 fcpListener.receivedPeerRemoved(getSource(), peerRemoved);
147 * Notifies all listeners that a “NodeData” message was received.
149 * @see FcpListener#receivedNodeData(FcpConnection, NodeData)
151 * The “NodeData” message
153 public void fireReceivedNodeData(NodeData nodeData) {
154 for (FcpListener fcpListener : getListeners()) {
155 fcpListener.receivedNodeData(getSource(), nodeData);
160 * Notifies all listeners that a “TestDDAReply” message was received.
162 * @see FcpListener#receivedTestDDAReply(FcpConnection, TestDDAReply)
163 * @param testDDAReply
164 * The “TestDDAReply” message
166 public void fireReceivedTestDDAReply(TestDDAReply testDDAReply) {
167 for (FcpListener fcpListener : getListeners()) {
168 fcpListener.receivedTestDDAReply(getSource(), testDDAReply);
173 * Notifies all listeners that a “TestDDAComplete” message was received.
175 * @see FcpListener#receivedTestDDAComplete(FcpConnection, TestDDAComplete)
176 * @param testDDAComplete
177 * The “TestDDAComplete” message
179 public void fireReceivedTestDDAComplete(TestDDAComplete testDDAComplete) {
180 for (FcpListener fcpListener : getListeners()) {
181 fcpListener.receivedTestDDAComplete(getSource(), testDDAComplete);
186 * Notifies all listeners that a “PersistentGet” message was received.
188 * @see FcpListener#receivedPersistentGet(FcpConnection, PersistentGet)
189 * @param persistentGet
190 * The “PersistentGet” message
192 public void fireReceivedPersistentGet(PersistentGet persistentGet) {
193 for (FcpListener fcpListener : getListeners()) {
194 fcpListener.receivedPersistentGet(getSource(), persistentGet);
199 * Notifies all listeners that a “PersistentPut” message was received.
201 * @see FcpListener#receivedPersistentPut(FcpConnection, PersistentPut)
202 * @param persistentPut
203 * The “PersistentPut” message
205 public void fireReceivedPersistentPut(PersistentPut persistentPut) {
206 for (FcpListener fcpListener : getListeners()) {
207 fcpListener.receivedPersistentPut(getSource(), persistentPut);
212 * Notifies all listeners that a “EndListPersistentRequests” message was
215 * @see FcpListener#receivedEndListPersistentRequests(FcpConnection,
216 * EndListPersistentRequests)
217 * @param endListPersistentRequests
218 * The “EndListPersistentRequests” message
220 public void fireReceivedEndListPersistentRequests(EndListPersistentRequests endListPersistentRequests) {
221 for (FcpListener fcpListener : getListeners()) {
222 fcpListener.receivedEndListPersistentRequests(getSource(), endListPersistentRequests);
227 * Notifies all listeners that a “URIGenerated” message was received.
229 * @see FcpListener#receivedURIGenerated(FcpConnection, URIGenerated)
230 * @param uriGenerated
231 * The “URIGenerated” message
233 public void fireReceivedURIGenerated(URIGenerated uriGenerated) {
234 for (FcpListener fcpListener : getListeners()) {
235 fcpListener.receivedURIGenerated(getSource(), uriGenerated);
240 * Notifies all listeners that a “DataFound” message was received.
242 * @see FcpListener#receivedDataFound(FcpConnection, DataFound)
244 * The “DataFound” message
246 public void fireReceivedDataFound(DataFound dataFound) {
247 for (FcpListener fcpListener : getListeners()) {
248 fcpListener.receivedDataFound(getSource(), dataFound);
253 * Notifies all listeners that an “AllData” message was received.
255 * @see FcpListener#receivedAllData(FcpConnection, AllData)
257 * The “AllData” message
259 public void fireReceivedAllData(AllData allData) {
260 for (FcpListener fcpListener : getListeners()) {
261 fcpListener.receivedAllData(getSource(), allData);
266 * Notifies all listeners that a “SimpleProgress” message was received.
268 * @see FcpListener#receivedSimpleProgress(FcpConnection, SimpleProgress)
269 * @param simpleProgress
270 * The “SimpleProgress” message
272 public void fireReceivedSimpleProgress(SimpleProgress simpleProgress) {
273 for (FcpListener fcpListener : getListeners()) {
274 fcpListener.receivedSimpleProgress(getSource(), simpleProgress);
279 * Notifies all listeners that a “StartedCompression” message was received.
281 * @see FcpListener#receivedStartedCompression(FcpConnection,
282 * StartedCompression)
283 * @param startedCompression
284 * The “StartedCompression” message
286 public void fireReceivedStartedCompression(StartedCompression startedCompression) {
287 for (FcpListener fcpListener : getListeners()) {
288 fcpListener.receivedStartedCompression(getSource(), startedCompression);
293 * Notifies all listeners that a “FinishedCompression” message was received.
295 * @see FcpListener#receivedFinishedCompression(FcpConnection,
296 * FinishedCompression)
297 * @param finishedCompression
298 * The “FinishedCompression” message
300 public void fireReceivedFinishedCompression(FinishedCompression finishedCompression) {
301 for (FcpListener fcpListener : getListeners()) {
302 fcpListener.receivedFinishedCompression(getSource(), finishedCompression);
307 * Notifies all listeners that an “UnknownPeerNoteType” message was
310 * @see FcpListener#receivedUnknownPeerNoteType(FcpConnection,
311 * UnknownPeerNoteType)
312 * @param unknownPeerNoteType
313 * The “UnknownPeerNoteType” message
315 public void fireReceivedUnknownPeerNoteType(UnknownPeerNoteType unknownPeerNoteType) {
316 for (FcpListener fcpListener : getListeners()) {
317 fcpListener.receivedUnknownPeerNoteType(getSource(), unknownPeerNoteType);
322 * Notifies all listeners that an “UnknownNodeIdentifier” message was
325 * @see FcpListener#receivedUnknownNodeIdentifier(FcpConnection,
326 * UnknownNodeIdentifier)
327 * @param unknownNodeIdentifier
328 * The “UnknownNodeIdentifier” message
330 public void fireReceivedUnknownNodeIdentifier(UnknownNodeIdentifier unknownNodeIdentifier) {
331 for (FcpListener fcpListener : getListeners()) {
332 fcpListener.receivedUnknownNodeIdentifier(getSource(), unknownNodeIdentifier);
337 * Notifies all listeners that a “ConfigData” message was received.
339 * @see FcpListener#receivedConfigData(FcpConnection, ConfigData)
341 * The “ConfigData” message
343 public void fireReceivedConfigData(ConfigData configData) {
344 for (FcpListener fcpListener : getListeners()) {
345 fcpListener.receivedConfigData(getSource(), configData);
350 * Notifies all listeners that a “GetFailed” message was received.
352 * @see FcpListener#receivedGetFailed(FcpConnection, GetFailed)
354 * The “GetFailed” message
356 public void fireReceivedGetFailed(GetFailed getFailed) {
357 for (FcpListener fcpListener : getListeners()) {
358 fcpListener.receivedGetFailed(getSource(), getFailed);
363 * Notifies all listeners that a “PutFailed” message was received.
365 * @see FcpListener#receivedPutFailed(FcpConnection, PutFailed)
367 * The “PutFailed” message
369 public void fireReceivedPutFailed(PutFailed putFailed) {
370 for (FcpListener fcpListener : getListeners()) {
371 fcpListener.receivedPutFailed(getSource(), putFailed);
376 * Notifies all listeners that an “IdentifierCollision” message was
379 * @see FcpListener#receivedIdentifierCollision(FcpConnection,
380 * IdentifierCollision)
381 * @param identifierCollision
382 * The “IdentifierCollision” message
384 public void fireReceivedIdentifierCollision(IdentifierCollision identifierCollision) {
385 for (FcpListener fcpListener : getListeners()) {
386 fcpListener.receivedIdentifierCollision(getSource(), identifierCollision);
391 * Notifies all listeners that an “PersistentPutDir” message was received.
393 * @see FcpListener#receivedPersistentPutDir(FcpConnection,
395 * @param persistentPutDir
396 * The “PersistentPutDir” message
398 public void fireReceivedPersistentPutDir(PersistentPutDir persistentPutDir) {
399 for (FcpListener fcpListener : getListeners()) {
400 fcpListener.receivedPersistentPutDir(getSource(), persistentPutDir);
405 * Notifies all listeners that a “PersistentRequestRemoved” message was
408 * @see FcpListener#receivedPersistentRequestRemoved(FcpConnection,
409 * PersistentRequestRemoved)
410 * @param persistentRequestRemoved
411 * The “PersistentRequestRemoved” message
413 public void fireReceivedPersistentRequestRemoved(PersistentRequestRemoved persistentRequestRemoved) {
414 for (FcpListener fcpListener : getListeners()) {
415 fcpListener.receivedPersistentRequestRemoved(getSource(), persistentRequestRemoved);
420 * Notifies all listeners that a “SubscribedUSKUpdate” message was received.
422 * @see FcpListener#receivedSubscribedUSKUpdate(FcpConnection,
423 * SubscribedUSKUpdate)
424 * @param subscribedUSKUpdate
425 * The “SubscribedUSKUpdate” message
427 public void fireReceivedSubscribedUSKUpdate(SubscribedUSKUpdate subscribedUSKUpdate) {
428 for (FcpListener fcpListener : getListeners()) {
429 fcpListener.receivedSubscribedUSKUpdate(getSource(), subscribedUSKUpdate);
434 * Notifies all listeners that a “PluginInfo” message was received.
436 * @see FcpListener#receivedPluginInfo(FcpConnection, PluginInfo)
438 * The “PluginInfo” message
440 public void fireReceivedPluginInfo(PluginInfo pluginInfo) {
441 for (FcpListener fcpListener : getListeners()) {
442 fcpListener.receivedPluginInfo(getSource(), pluginInfo);
447 * Notifies all listeners that an “FCPPluginReply” message was received.
449 * @see FcpListener#receivedFCPPluginReply(FcpConnection, FCPPluginReply)
450 * @param fcpPluginReply
451 * The “FCPPluginReply” message
453 public void fireReceivedFCPPluginReply(FCPPluginReply fcpPluginReply) {
454 for (FcpListener fcpListener : getListeners()) {
455 fcpListener.receivedFCPPluginReply(getSource(), fcpPluginReply);
460 * Notifies all listeners that a “PersistentRequestModified” message was
463 * @see FcpListener#receivedPersistentRequestModified(FcpConnection,
464 * PersistentRequestModified)
465 * @param persistentRequestModified
466 * The “PersistentRequestModified” message
468 public void fireReceivedPersistentRequestModified(PersistentRequestModified persistentRequestModified) {
469 for (FcpListener fcpListener : getListeners()) {
470 fcpListener.receivedPersistentRequestModified(getSource(), persistentRequestModified);
475 * Notifies all listeners that a “PutSuccessful” message was received.
477 * @see FcpListener#receivedPutSuccessful(FcpConnection, PutSuccessful)
478 * @param putSuccessful
479 * The “PutSuccessful” message
481 public void fireReceivedPutSuccessful(PutSuccessful putSuccessful) {
482 for (FcpListener fcpListener : getListeners()) {
483 fcpListener.receivedPutSuccessful(getSource(), putSuccessful);
488 * Notifies all listeners that a “PutFetchable” message was received.
490 * @see FcpListener#receivedPutFetchable(FcpConnection, PutFetchable)
491 * @param putFetchable
492 * The “PutFetchable” message
494 public void fireReceivedPutFetchable(PutFetchable putFetchable) {
495 for (FcpListener fcpListener : getListeners()) {
496 fcpListener.receivedPutFetchable(getSource(), putFetchable);
501 * Notifies all listeners that a “ProtocolError” message was received.
503 * @see FcpListener#receivedProtocolError(FcpConnection, ProtocolError)
504 * @param protocolError
505 * The “ProtocolError” message
507 public void fireReceivedProtocolError(ProtocolError protocolError) {
508 for (FcpListener fcpListener : getListeners()) {
509 fcpListener.receivedProtocolError(getSource(), protocolError);
514 * Notifies all listeners that a “SentFeed” message was received.
516 * @see FcpListener#receivedSentFeed(FcpConnection, SentFeed)
518 * The “SentFeed” message.
520 public void fireSentFeed(SentFeed sentFeed) {
521 for (FcpListener fcpListener : getListeners()) {
522 fcpListener.receivedSentFeed(getSource(), sentFeed);
527 * Notifies all listeners that a “ReceivedBookmarkFeed” message was
530 * @see FcpListener#receivedBookmarkFeed(FcpConnection,
531 * ReceivedBookmarkFeed)
532 * @param receivedBookmarkFeed
533 * The “ReceivedBookmarkFeed” message
535 public void fireReceivedBookmarkFeed(ReceivedBookmarkFeed receivedBookmarkFeed) {
536 for (FcpListener fcpListener : getListeners()) {
537 fcpListener.receivedBookmarkFeed(getSource(), receivedBookmarkFeed);
542 * Notifies all registered listeners that a message has been received.
544 * @see FcpListener#receivedMessage(FcpConnection, FcpMessage)
546 * The message that was received
548 public void fireMessageReceived(FcpMessage fcpMessage) {
549 for (FcpListener fcpListener : getListeners()) {
550 fcpListener.receivedMessage(getSource(), fcpMessage);
555 * Notifies all listeners that the connection to the node was closed.
558 * The exception that caused the disconnect, or <code>null</code>
559 * if there was no exception
560 * @see FcpListener#connectionClosed(FcpConnection, Throwable)
562 public void fireConnectionClosed(Throwable throwable) {
563 for (FcpListener fcpListener : getListeners()) {
564 fcpListener.connectionClosed(getSource(), throwable);