com.orange.cepheus.cep.persistence.Persistence Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cepheus-cep Show documentation
Show all versions of cepheus-cep Show documentation
Cepheus-CEP is a CEP (Complex Event Processor), it uses the Esper engine.
/*
* Copyright (C) 2015 Orange
*
* This software is distributed under the terms and conditions of the 'GNU GENERAL PUBLIC LICENSE
* Version 2' license which can be found in the file 'LICENSE.txt' in this package distribution or
* at 'http://www.gnu.org/licenses/gpl-2.0-standalone.html'.
*/
package com.orange.cepheus.cep.persistence;
import com.orange.cepheus.cep.exception.PersistenceException;
import com.orange.cepheus.cep.model.Configuration;
import java.util.Collection;
/**
* Created by pborscia on 30/06/2015.
*/
public interface Persistence {
/**
* check configuration file
* @param id the configuration ID
* @return true if configuration file exists else false
*/
boolean configurationExists(String id);
/**
* Load persited configuration to the CEP
* @param id the configuration ID
* @throws PersistenceException when the configuration could not be loaded successfully
* @return configuration
*/
Configuration loadConfiguration(String id) throws PersistenceException;
/**
* Save configuration
* @param id the configuration ID
* @param configuration cep configuration to persist
* @throws PersistenceException when the configuration could not be saved successfully
*/
void saveConfiguration(String id, Configuration configuration) throws PersistenceException;
/**
* Delete the persisted configuration
* @param id the configuration ID
* @throws PersistenceException when the configuration could not be deleted successfully
*/
void deleteConfiguration(String id) throws PersistenceException;
/**
* Retreive the list of all the configuration IDs.
* @return the configurations IDs
*/
Collection listConfigurations();
}