All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dpfmanager.shell.core.adapter.DpfModule Maven / Gradle / Ivy

/**
 * 

DpfModule.java

This program is free software: you can redistribute it * and/or modify it under the terms of the GNU General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any later version; or, * at your choice, under the terms of the Mozilla Public License, v. 2.0. SPDX GPL-3.0+ or MPL-2.0+. *

This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License and the Mozilla Public License for more details.

*

You should have received a copy of the GNU General Public License and the Mozilla Public * License along with this program. If not, see http://www.gnu.org/licenses/ * and at http://mozilla.org/MPL/2.0 .

NB: for the * © statement, include Easy Innova SL or other company/Person contributing the code.

© * 2015 Easy Innova, SL

* * @author Adrià Llorens * @version 1.0 * @since 23/7/2015 */ package dpfmanager.shell.core.adapter; import dpfmanager.shell.core.messages.ArrayMessage; import dpfmanager.shell.core.messages.DpfMessage; import javafx.event.Event; import org.jacpfx.api.message.Message; import org.jacpfx.rcp.component.CallbackComponent; import org.jacpfx.rcp.context.Context; /** * Created by Adrià Llorens on 02/03/2016. */ public abstract class DpfModule implements CallbackComponent { @Override public Object handle(final Message message) { String sId = message.getSourceId(); if (message.isMessageBodyTypeOf(ArrayMessage.class)) { // Array message ArrayMessage aMessage = message.getTypedMessageBody(ArrayMessage.class); tractMessage(aMessage.getFirstMessage(), sId); if (aMessage.hasNext()) { aMessage.removeFirst(); getContext().send(aMessage.getFirstTarget(), aMessage); } } else if (message.isMessageBodyTypeOf(DpfMessage.class)) { // Single message DpfMessage dpfMessage = message.getTypedMessageBody(DpfMessage.class); tractMessage(dpfMessage, sId); } return null; } private void tractMessage(DpfMessage dpfMessage, String source) { dpfMessage.setSourceId(source); handleMessage(dpfMessage); } /** * Methods to override */ public abstract void handleMessage(DpfMessage dpfMessage); public abstract Context getContext(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy