/** * Don't need to override this method. * * @param listener * @param vehicleCommId * @return */ public boolean removeListener(MessageListener<Mi, M> listener, I vehicleCommId) { C vci = null; I vIdS = vehicleCommId; if (vehicleCommId == null) return false; vci = commInfo.get(vIdS); if (vci == null) { return false; } boolean ret = vci.removeListener(listener); return ret; }
/** * Removes this listener from all systems excluding the common. * * @param listener * @return */ public final boolean removeListenerFromAllSystems(MessageListener<Mi, M> listener) { boolean ret = false; int r = 0; for (C vci : commInfo.values()) { boolean rt = vci.removeListener( listener); // This HAS TO be separated from the line of code bellow because // it might not run if "ret" is already true ret = ret || rt; if (rt) r++; } NeptusLog.pub() .debug( "Removed " + listener.getClass().getName() + " | " + r + " | " + listener.hashCode()); return ret; }