/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.components.optimizer.common; import de.rcenvironment.core.notification.NotificationService; /** * Implementation of {@link StudyPublisher}. * * @author Christian Weiss * @author Sascha Zur */ public final class OptimizerPublisherImpl implements OptimizerPublisher { private static final long serialVersionUID = 6027553291193203997L; private NotificationService notificationService; private final ResultSet resultSet; private final String notificationId; public OptimizerPublisherImpl(final ResultSet resultSet, NotificationService notificationService) { this.resultSet = resultSet; this.notificationService = notificationService; notificationId = OptimizerUtils.createDataIdentifier(resultSet); setBufferSize(BUFFER_SIZE); } @Override public ResultSet getStudy() { return resultSet; } @Override public void setBufferSize(final int bufferSize) { notificationService.setBufferSize(notificationId, bufferSize); } @Override public void add(final OptimizerResultSet dataset) { notificationService.send(notificationId, dataset); } @Override public void clearStudy() { notificationService.removePublisher(notificationId); } }