package org.limewire.friend.impl;
import org.limewire.friend.api.Friend;
import org.limewire.friend.api.FriendPresence;
import org.limewire.friend.api.PresenceEvent;
import org.limewire.listener.EventListener;
import org.limewire.listener.EventListenerList;
public abstract class AbstractFriend implements Friend {
private final EventListenerList<PresenceEvent> presenceListeners = new EventListenerList<PresenceEvent>();
@Override
public void addPresenceListener(EventListener<PresenceEvent> presenceListener) {
presenceListeners.addListener(presenceListener);
for(FriendPresence presence : getPresences().values()) {
presenceListener.handleEvent(new PresenceEvent(presence, PresenceEvent.Type.PRESENCE_NEW));
}
}
protected void firePresenceEvent(PresenceEvent event) {
presenceListeners.broadcast(event);
}
}