X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Ffcp%2FFcpListenerManager.java;h=4e1cce69a44eb8c4c244401cbe757ae16935c787;hb=dd605aee444057a874fabf7fb0045b8448b0d1cd;hp=c2075b49c2c7803b78a362b447b74312b8a2bc3a;hpb=c75524a85a7175eebd9a4b74965efd7f840ff950;p=jFCPlib.git diff --git a/src/net/pterodactylus/fcp/FcpListenerManager.java b/src/net/pterodactylus/fcp/FcpListenerManager.java index c2075b4..4e1cce6 100644 --- a/src/net/pterodactylus/fcp/FcpListenerManager.java +++ b/src/net/pterodactylus/fcp/FcpListenerManager.java @@ -1,6 +1,5 @@ /* - * jFCPlib - FcpListenerManager.java - - * Copyright © 2009 David Roden + * jFCPlib - FcpListenerManager.java - Copyright © 2009 David Roden * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,21 +18,14 @@ package net.pterodactylus.fcp; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import net.pterodactylus.util.event.AbstractListenerManager; /** * Manages FCP listeners and event firing. * * @author David ‘Bombe’ Roden <bombe@pterodactylus.net> */ -public class FcpListenerManager { - - /** The source FCP connection. */ - private final FcpConnection fcpConnection; - - /** The registered listeners. */ - private final List fcpListeners = new CopyOnWriteArrayList(); +public class FcpListenerManager extends AbstractListenerManager { /** * Creates a new listener manager. @@ -42,27 +34,7 @@ public class FcpListenerManager { * The source FCP connection */ public FcpListenerManager(FcpConnection fcpConnection) { - this.fcpConnection = fcpConnection; - } - - /** - * Adds the given FCP listener to the list of registered listeners. - * - * @param fcpListener - * The FCP listener to add - */ - public void addListener(FcpListener fcpListener) { - fcpListeners.add(fcpListener); - } - - /** - * Removes the given FCP listener from the list of registered listeners. - * - * @param fcpListener - * The FCP listener to remove - */ - public void removeListener(FcpListener fcpListener) { - fcpListeners.remove(fcpListener); + super(fcpConnection); } /** @@ -73,8 +45,8 @@ public class FcpListenerManager { * The “NodeHello” message */ public void fireReceivedNodeHello(NodeHello nodeHello) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedNodeHello(fcpConnection, nodeHello); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedNodeHello(getSource(), nodeHello); } } @@ -88,8 +60,8 @@ public class FcpListenerManager { * The “CloseConnectionDuplicateClientName” message */ public void fireReceivedCloseConnectionDuplicateClientName(CloseConnectionDuplicateClientName closeConnectionDuplicateClientName) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedCloseConnectionDuplicateClientName(fcpConnection, closeConnectionDuplicateClientName); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedCloseConnectionDuplicateClientName(getSource(), closeConnectionDuplicateClientName); } } @@ -101,8 +73,8 @@ public class FcpListenerManager { * The “SSKKeypair” message */ public void fireReceivedSSKKeypair(SSKKeypair sskKeypair) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedSSKKeypair(fcpConnection, sskKeypair); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedSSKKeypair(getSource(), sskKeypair); } } @@ -114,8 +86,8 @@ public class FcpListenerManager { * The “Peer” message */ public void fireReceivedPeer(Peer peer) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPeer(fcpConnection, peer); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPeer(getSource(), peer); } } @@ -127,8 +99,8 @@ public class FcpListenerManager { * The “EndListPeers” message */ public void fireReceivedEndListPeers(EndListPeers endListPeers) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedEndListPeers(fcpConnection, endListPeers); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedEndListPeers(getSource(), endListPeers); } } @@ -139,8 +111,8 @@ public class FcpListenerManager { * @param peerNote */ public void fireReceivedPeerNote(PeerNote peerNote) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPeerNote(fcpConnection, peerNote); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPeerNote(getSource(), peerNote); } } @@ -153,8 +125,8 @@ public class FcpListenerManager { * The “EndListPeerNotes” message */ public void fireReceivedEndListPeerNotes(EndListPeerNotes endListPeerNotes) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedEndListPeerNotes(fcpConnection, endListPeerNotes); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedEndListPeerNotes(getSource(), endListPeerNotes); } } @@ -166,8 +138,8 @@ public class FcpListenerManager { * The “PeerRemoved” message */ public void fireReceivedPeerRemoved(PeerRemoved peerRemoved) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPeerRemoved(fcpConnection, peerRemoved); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPeerRemoved(getSource(), peerRemoved); } } @@ -179,8 +151,8 @@ public class FcpListenerManager { * The “NodeData” message */ public void fireReceivedNodeData(NodeData nodeData) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedNodeData(fcpConnection, nodeData); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedNodeData(getSource(), nodeData); } } @@ -192,8 +164,8 @@ public class FcpListenerManager { * The “TestDDAReply” message */ public void fireReceivedTestDDAReply(TestDDAReply testDDAReply) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedTestDDAReply(fcpConnection, testDDAReply); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedTestDDAReply(getSource(), testDDAReply); } } @@ -205,8 +177,8 @@ public class FcpListenerManager { * The “TestDDAComplete” message */ public void fireReceivedTestDDAComplete(TestDDAComplete testDDAComplete) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedTestDDAComplete(fcpConnection, testDDAComplete); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedTestDDAComplete(getSource(), testDDAComplete); } } @@ -218,8 +190,8 @@ public class FcpListenerManager { * The “PersistentGet” message */ public void fireReceivedPersistentGet(PersistentGet persistentGet) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPersistentGet(fcpConnection, persistentGet); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPersistentGet(getSource(), persistentGet); } } @@ -231,8 +203,8 @@ public class FcpListenerManager { * The “PersistentPut” message */ public void fireReceivedPersistentPut(PersistentPut persistentPut) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPersistentPut(fcpConnection, persistentPut); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPersistentPut(getSource(), persistentPut); } } @@ -246,8 +218,8 @@ public class FcpListenerManager { * The “EndListPersistentRequests” message */ public void fireReceivedEndListPersistentRequests(EndListPersistentRequests endListPersistentRequests) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedEndListPersistentRequests(fcpConnection, endListPersistentRequests); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedEndListPersistentRequests(getSource(), endListPersistentRequests); } } @@ -259,8 +231,8 @@ public class FcpListenerManager { * The “URIGenerated” message */ public void fireReceivedURIGenerated(URIGenerated uriGenerated) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedURIGenerated(fcpConnection, uriGenerated); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedURIGenerated(getSource(), uriGenerated); } } @@ -272,8 +244,8 @@ public class FcpListenerManager { * The “DataFound” message */ public void fireReceivedDataFound(DataFound dataFound) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedDataFound(fcpConnection, dataFound); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedDataFound(getSource(), dataFound); } } @@ -285,8 +257,8 @@ public class FcpListenerManager { * The “AllData” message */ public void fireReceivedAllData(AllData allData) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedAllData(fcpConnection, allData); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedAllData(getSource(), allData); } } @@ -298,8 +270,8 @@ public class FcpListenerManager { * The “SimpleProgress” message */ public void fireReceivedSimpleProgress(SimpleProgress simpleProgress) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedSimpleProgress(fcpConnection, simpleProgress); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedSimpleProgress(getSource(), simpleProgress); } } @@ -312,22 +284,22 @@ public class FcpListenerManager { * The “StartedCompression” message */ public void fireReceivedStartedCompression(StartedCompression startedCompression) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedStartedCompression(fcpConnection, startedCompression); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedStartedCompression(getSource(), startedCompression); } } /** * Notifies all listeners that a “FinishedCompression” message was received. * - * @see FcpListener#receviedFinishedCompression(FcpConnection, + * @see FcpListener#receivedFinishedCompression(FcpConnection, * FinishedCompression) * @param finishedCompression * The “FinishedCompression” message */ public void fireReceivedFinishedCompression(FinishedCompression finishedCompression) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receviedFinishedCompression(fcpConnection, finishedCompression); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedFinishedCompression(getSource(), finishedCompression); } } @@ -341,8 +313,8 @@ public class FcpListenerManager { * The “UnknownPeerNoteType” message */ public void fireReceivedUnknownPeerNoteType(UnknownPeerNoteType unknownPeerNoteType) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedUnknownPeerNoteType(fcpConnection, unknownPeerNoteType); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedUnknownPeerNoteType(getSource(), unknownPeerNoteType); } } @@ -356,8 +328,8 @@ public class FcpListenerManager { * The “UnknownNodeIdentifier” message */ public void fireReceivedUnknownNodeIdentifier(UnknownNodeIdentifier unknownNodeIdentifier) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedUnknownNodeIdentifier(fcpConnection, unknownNodeIdentifier); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedUnknownNodeIdentifier(getSource(), unknownNodeIdentifier); } } @@ -369,8 +341,8 @@ public class FcpListenerManager { * The “ConfigData” message */ public void fireReceivedConfigData(ConfigData configData) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedConfigData(fcpConnection, configData); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedConfigData(getSource(), configData); } } @@ -382,8 +354,8 @@ public class FcpListenerManager { * The “GetFailed” message */ public void fireReceivedGetFailed(GetFailed getFailed) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedGetFailed(fcpConnection, getFailed); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedGetFailed(getSource(), getFailed); } } @@ -395,8 +367,8 @@ public class FcpListenerManager { * The “PutFailed” message */ public void fireReceivedPutFailed(PutFailed putFailed) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPutFailed(fcpConnection, putFailed); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPutFailed(getSource(), putFailed); } } @@ -410,8 +382,8 @@ public class FcpListenerManager { * The “IdentifierCollision” message */ public void fireReceivedIdentifierCollision(IdentifierCollision identifierCollision) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedIdentifierCollision(fcpConnection, identifierCollision); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedIdentifierCollision(getSource(), identifierCollision); } } @@ -424,8 +396,8 @@ public class FcpListenerManager { * The “PersistentPutDir” message */ public void fireReceivedPersistentPutDir(PersistentPutDir persistentPutDir) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPersistentPutDir(fcpConnection, persistentPutDir); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPersistentPutDir(getSource(), persistentPutDir); } } @@ -439,8 +411,8 @@ public class FcpListenerManager { * The “PersistentRequestRemoved” message */ public void fireReceivedPersistentRequestRemoved(PersistentRequestRemoved persistentRequestRemoved) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPersistentRequestRemoved(fcpConnection, persistentRequestRemoved); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPersistentRequestRemoved(getSource(), persistentRequestRemoved); } } @@ -453,8 +425,8 @@ public class FcpListenerManager { * The “SubscribedUSKUpdate” message */ public void fireReceivedSubscribedUSKUpdate(SubscribedUSKUpdate subscribedUSKUpdate) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedSubscribedUSKUpdate(fcpConnection, subscribedUSKUpdate); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedSubscribedUSKUpdate(getSource(), subscribedUSKUpdate); } } @@ -466,8 +438,8 @@ public class FcpListenerManager { * The “PluginInfo” message */ public void fireReceivedPluginInfo(PluginInfo pluginInfo) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPluginInfo(fcpConnection, pluginInfo); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPluginInfo(getSource(), pluginInfo); } } @@ -479,8 +451,8 @@ public class FcpListenerManager { * The “FCPPluginReply” message */ public void fireReceivedFCPPluginReply(FCPPluginReply fcpPluginReply) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedFCPPluginReply(fcpConnection, fcpPluginReply); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedFCPPluginReply(getSource(), fcpPluginReply); } } @@ -494,8 +466,8 @@ public class FcpListenerManager { * The “PersistentRequestModified” message */ public void fireReceivedPersistentRequestModified(PersistentRequestModified persistentRequestModified) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPersistentRequestModified(fcpConnection, persistentRequestModified); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPersistentRequestModified(getSource(), persistentRequestModified); } } @@ -507,8 +479,8 @@ public class FcpListenerManager { * The “PutSuccessful” message */ public void fireReceivedPutSuccessful(PutSuccessful putSuccessful) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPutSuccessful(fcpConnection, putSuccessful); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPutSuccessful(getSource(), putSuccessful); } } @@ -520,8 +492,8 @@ public class FcpListenerManager { * The “PutFetchable” message */ public void fireReceivedPutFetchable(PutFetchable putFetchable) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedPutFetchable(fcpConnection, putFetchable); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedPutFetchable(getSource(), putFetchable); } } @@ -533,8 +505,36 @@ public class FcpListenerManager { * The “ProtocolError” message */ public void fireReceivedProtocolError(ProtocolError protocolError) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedProtocolError(fcpConnection, protocolError); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedProtocolError(getSource(), protocolError); + } + } + + /** + * Notifies all listeners that a “SentFeed” message was received. + * + * @see FcpListener#receivedSentFeed(FcpConnection, SentFeed) + * @param sentFeed + * The “SentFeed” message. + */ + public void fireSentFeed(SentFeed sentFeed) { + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedSentFeed(getSource(), sentFeed); + } + } + + /** + * Notifies all listeners that a “ReceivedBookmarkFeed” message was + * received. + * + * @see FcpListener#receivedBookmarkFeed(FcpConnection, + * ReceivedBookmarkFeed) + * @param receivedBookmarkFeed + * The “ReceivedBookmarkFeed” message + */ + public void fireReceivedBookmarkFeed(ReceivedBookmarkFeed receivedBookmarkFeed) { + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedBookmarkFeed(getSource(), receivedBookmarkFeed); } } @@ -546,8 +546,8 @@ public class FcpListenerManager { * The message that was received */ public void fireMessageReceived(FcpMessage fcpMessage) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.receivedMessage(fcpConnection, fcpMessage); + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedMessage(getSource(), fcpMessage); } } @@ -560,8 +560,8 @@ public class FcpListenerManager { * @see FcpListener#connectionClosed(FcpConnection, Throwable) */ public void fireConnectionClosed(Throwable throwable) { - for (FcpListener fcpListener : fcpListeners) { - fcpListener.connectionClosed(fcpConnection, throwable); + for (FcpListener fcpListener : getListeners()) { + fcpListener.connectionClosed(getSource(), throwable); } }