package com.tinesoft.droidlinguist.server.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.web.cors.CorsConfiguration; /** * Properties specific to DroidLinguist. * * <p> * Properties are configured in the application.yml file. * </p> */ @ConfigurationProperties(prefix = "droidlinguist", ignoreUnknownFields = false) public class DroidLinguistProperties { private final Async async = new Async(); private final Http http = new Http(); private final CorsConfiguration cors = new CorsConfiguration(); public Async getAsync() { return async; } public Http getHttp() { return http; } public CorsConfiguration getCors() { return cors; } public static class Async { private int corePoolSize = 2; private int maxPoolSize = 50; private int queueCapacity = 10000; public int getCorePoolSize() { return corePoolSize; } public void setCorePoolSize(int corePoolSize) { this.corePoolSize = corePoolSize; } public int getMaxPoolSize() { return maxPoolSize; } public void setMaxPoolSize(int maxPoolSize) { this.maxPoolSize = maxPoolSize; } public int getQueueCapacity() { return queueCapacity; } public void setQueueCapacity(int queueCapacity) { this.queueCapacity = queueCapacity; } } public static class Http { private final Cache cache = new Cache(); public Cache getCache() { return cache; } public static class Cache { private int timeToLiveInDays = 31; public int getTimeToLiveInDays() { return timeToLiveInDays; } public void setTimeToLiveInDays(int timeToLiveInDays) { this.timeToLiveInDays = timeToLiveInDays; } } } }