public void addPhaseListener(PhaseListener listener) {
if (listener == null) {
throw new NullPointerException
(MessageUtils.getExceptionMessageString
(MessageUtils.NULL_PARAMETERS_ERROR_MESSAGE_ID, "listener"));
}
if (listeners == null) {
listeners = new CopyOnWriteArrayList< PhaseListener >();
}
if (listeners.contains(listener)) {
if (LOGGER.isLoggable(Level.FINE)) {
LOGGER.log(Level.FINE,
"jsf.lifecycle.duplicate_phase_listener_detected",
listener.getClass().getName());
}
} else {
if (LOGGER.isLoggable(Level.FINE)) {
LOGGER.log(Level.FINE,
"addPhaseListener({0},{1})",
new Object[]{
listener.getPhaseId().toString(),
listener.getClass().getName()});
}
listeners.add(listener);
}
}
|