/*********************************************************************************** * * Copyright (c) 2014 Kamil Baczkowicz * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v1.0 which accompany this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * * Kamil Baczkowicz - initial API and implementation and/or initial documentation * */ package pl.baczkowicz.spy.storage; import java.util.List; import pl.baczkowicz.spy.common.generated.ConversionMethod; import pl.baczkowicz.spy.common.generated.FormatterDetails; import pl.baczkowicz.spy.formatting.FormattingUtils; /** * Basic message store, keeping all messages in a list. */ public class BasicMessageStore<T> implements MessageStore<T> { private MessageList<T> messageList; /** The message format used for this message store. */ protected FormatterDetails messageFormat = FormattingUtils.createBasicFormatter("default", "Plain", null, ConversionMethod.PLAIN); public BasicMessageStore(final MessageList<T> messageList) { setMessageList(messageList); } public void setMessageList(final MessageList<T> messageList) { this.messageList = messageList; } public void messageReceived(final T message) { storeMessage(message); } public T storeMessage(final T message) { if (message != null) { return messageList.add(message); } return null; } public List<T> getMessages() { return messageList.getMessages(); } public MessageList<T> getMessageList() { return messageList; } public void clear() { messageList.clear(); } public void setFormatter(final FormatterDetails messageFormat) { this.messageFormat = messageFormat; } public FormatterDetails getFormatter() { return messageFormat; } public boolean browsingFiltersEnabled() { return false; } public boolean messageFiltersEnabled() { return false; } public String getName() { return messageList.getName(); } public void cleanUp() { clear(); } }