/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.pieShare.pieTools.piePlate.service.cluster.api; import java.util.Map; import org.pieShare.pieTools.piePlate.model.message.api.IClusterMessage; import org.pieShare.pieTools.piePlate.service.channel.api.IIncomingChannel; import org.pieShare.pieTools.piePlate.service.channel.api.IOutgoingChannel; import org.pieShare.pieTools.piePlate.service.channel.api.ITwoWayChannel; import org.pieShare.pieTools.piePlate.service.cluster.event.ClusterAddedEvent; import org.pieShare.pieTools.piePlate.service.cluster.event.ClusterRemovedEvent; import org.pieShare.pieTools.piePlate.service.cluster.event.IClusterAddedListener; import org.pieShare.pieTools.piePlate.service.cluster.event.IClusterRemovedListener; import org.pieShare.pieTools.piePlate.service.cluster.exception.ClusterManagmentServiceException; import org.pieShare.pieTools.piePlate.service.cluster.exception.ClusterServiceException; import org.pieShare.pieTools.pieUtilities.model.EncryptedPassword; import org.pieShare.pieTools.pieUtilities.service.eventBase.IEventBase; /** * * @author Svetoslav */ public interface IClusterManagementService { IEventBase<IClusterRemovedListener, ClusterRemovedEvent> getClusterRemovedEventBase(); IEventBase<IClusterAddedListener, ClusterAddedEvent> getClusterAddedEventBase(); void sendMessage(IClusterMessage message) throws ClusterManagmentServiceException; void disconnect(String id) throws ClusterServiceException; void diconnectAll() throws ClusterManagmentServiceException; Map<String, IClusterService> getClusters(); void registerChannel(String clusterId, IIncomingChannel channel) throws ClusterManagmentServiceException; void registerChannel(String clusterId, IOutgoingChannel channel) throws ClusterManagmentServiceException; void registerChannel(String clusterId, ITwoWayChannel channel) throws ClusterManagmentServiceException; }