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

com.orange.cepheus.cep.model.Configuration Maven / Gradle / Ivy

There is a newer version: 1.0.0
Show newest version
/*
 * 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.model;

import com.fasterxml.jackson.annotation.JsonProperty;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.net.URI;
import java.util.List;

/**
 * Configuration is exposed though a REST enpoint and defines the complete behavior of the CEP engine
 */
public class Configuration {

    @NotNull(message = "Configuration.host must not be empty")
    private URI host;

    @Valid
    @NotNull(message = "Configuration.in must contain a list of incoming events")
    @JsonProperty("in")
    private List eventTypeIns;

    @Valid
    @NotNull(message = "Configuration.out must contain a list of outgoing events")
    @JsonProperty("out")
    private List eventTypeOuts;

    @NotNull(message = "Configuration.statements must contain a list of EPL statements")
    private List statements;

    public Configuration() {
    }

    public URI getHost() {
        return host;
    }

    public void setHost(URI host) {
        this.host = host;
    }

    public List getEventTypeIns() {
        return eventTypeIns;
    }

    public void setEventTypeIns(List eventTypeIns) {
        this.eventTypeIns = eventTypeIns;
    }

    public List getEventTypeOuts() {
        return eventTypeOuts;
    }

    public void setEventTypeOuts(List eventTypeOuts) {
        this.eventTypeOuts = eventTypeOuts;
    }

    public List getStatements() {
        return statements;
    }

    public void setStatements(List statements) {
        this.statements = statements;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy