package org.ovirt.engine.ui.userportal.client.util.messages; import java.util.ArrayList; import java.util.LinkedList; public class MessageCenter { private LinkedList<Message> messages = new LinkedList<Message>(); private ArrayList<MessageListener> listeners = new ArrayList<MessageListener>(); private static final int MAX_MESSAGES = 100; public void notify(Message message) { this.messages.add(message); if (messages.size() > MAX_MESSAGES) { messages.removeFirst(); } for (MessageListener listener : listeners) { listener.onMessage(message); } } public void addMessageListener(MessageListener listener) { this.listeners.add(listener); } public LinkedList<Message> getMessages() { return messages; } public interface MessageListener { void onMessage(Message message); } }