00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.faces;
00023
00024 import com.realtime.crossfire.jxclient.util.EventListenerList2;
00025 import org.jetbrains.annotations.NotNull;
00026
00033 public abstract class AbstractFaceQueue implements FaceQueue {
00034
00038 @NotNull
00039 private final EventListenerList2<FaceQueueListener> faceQueueListeners = new EventListenerList2<FaceQueueListener>(FaceQueueListener.class);
00040
00044 @Override
00045 public void addFaceQueueListener(@NotNull final FaceQueueListener faceQueueListener) {
00046 faceQueueListeners.add(faceQueueListener);
00047 }
00048
00052 @Override
00053 public void removeFaceQueueListener(@NotNull final FaceQueueListener faceQueueListener) {
00054 faceQueueListeners.remove(faceQueueListener);
00055 }
00056
00063 protected void fireFaceLoaded(@NotNull final Face face, @NotNull final FaceImages faceImages) {
00064 for (final FaceQueueListener faceQueueListener : faceQueueListeners.getListeners()) {
00065 faceQueueListener.faceLoaded(face, faceImages);
00066 }
00067 }
00068
00073 protected void fireFaceFailed(@NotNull final Face face) {
00074 for (final FaceQueueListener faceQueueListener : faceQueueListeners.getListeners()) {
00075 faceQueueListener.faceFailed(face);
00076 }
00077 }
00078
00079 }