package pta.de;

import io.dropwizard.Configuration;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.hibernate.validator.constraints.*;

public class MicsCentralConfiguration extends Configuration {
    @NotEmpty
    private String servicesDistributionFileName;

    @JsonProperty
    public String getServicesDistributionFileName() {
        return servicesDistributionFileName;
    }

    @JsonProperty
    public void setServicesDistributionFileName(String servicesDistributionFileName) {
        this.servicesDistributionFileName = servicesDistributionFileName;
    }
}
