AbstractPolicyConfiguration.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 Link.it srl (https://link.it).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3, as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- package org.openspcoop2.core.controllo_traffico.beans;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import org.apache.commons.lang.StringUtils;
- import org.openspcoop2.core.config.Proprieta;
- import org.openspcoop2.core.controllo_traffico.constants.Costanti;
- import org.openspcoop2.core.controllo_traffico.driver.PolicyGroupByActiveThreadsType;
- /**
- * PolicyConfiguration
- *
- * @author Poli Andrea (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public abstract class AbstractPolicyConfiguration implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- // runtime config
- protected boolean gestionePolicyRidefinita = false;
- protected PolicyGroupByActiveThreadsType type;
- private Boolean LOCAL_DIVIDED_BY_NODES_remaining_zeroValue = null;
- private Boolean LOCAL_DIVIDED_BY_NODES_limit_roundingDown = null;
- private Boolean LOCAL_DIVIDED_BY_NODES_limit_normalizedQuota = null;
- protected Boolean getEngineLOCAL_DIVIDED_BY_NODES_remaining_zeroValue() {
- return this.LOCAL_DIVIDED_BY_NODES_remaining_zeroValue;
- }
- public void setLOCAL_DIVIDED_BY_NODES_remaining_zeroValue(Boolean lOCAL_DIVIDED_BY_NODES_remaining_zeroValue) {
- this.LOCAL_DIVIDED_BY_NODES_remaining_zeroValue = lOCAL_DIVIDED_BY_NODES_remaining_zeroValue;
- }
- protected Boolean getEngineLOCAL_DIVIDED_BY_NODES_limit_roundingDown() {
- return this.LOCAL_DIVIDED_BY_NODES_limit_roundingDown;
- }
- public void setLOCAL_DIVIDED_BY_NODES_limit_roundingDown(Boolean lOCAL_DIVIDED_BY_NODES_limit_roundingDown) {
- this.LOCAL_DIVIDED_BY_NODES_limit_roundingDown = lOCAL_DIVIDED_BY_NODES_limit_roundingDown;
- }
- protected Boolean getEngineLOCAL_DIVIDED_BY_NODES_limit_normalizedQuota() {
- return this.LOCAL_DIVIDED_BY_NODES_limit_normalizedQuota;
- }
- public void setLOCAL_DIVIDED_BY_NODES_limit_normalizedQuota(Boolean lOCAL_DIVIDED_BY_NODES_limit_normalizedQuota) {
- this.LOCAL_DIVIDED_BY_NODES_limit_normalizedQuota = lOCAL_DIVIDED_BY_NODES_limit_normalizedQuota;
- }
- protected boolean gestioneHttpHeadersRidefinita = false;
- protected boolean disabledHttpHeaders = false;
- protected boolean disabledHttpHeaders_limit = false;
- protected boolean forceHttpHeaders_limit_no_windows = false;
- protected boolean forceHttpHeaders_limit_windows = false;
- protected boolean disabledHttpHeaders_remaining = false;
- protected boolean disabledHttpHeaders_reset = false;
- protected boolean disabledHttpHeaders_retryAfter = false;
- protected boolean forceDisabledHttpHeaders_retryAfter_backoff = false;
- protected int forceHttpHeaders_retryAfter_backoff = -1;
-
- // console config
- protected String syncMode = Costanti.VALUE_MODALITA_SINCRONIZZAZIONE_DEFAULT;
- protected String impl = null;
- protected String count = null;
- protected String engineType = null;
- protected Long gestorePolicyConfigDate = null;
-
- protected String httpMode = Costanti.VALUE_HTTP_HEADER_DEFAULT;
- protected String httpMode_limit = null;
- protected String httpMode_remaining = null;
- protected String httpMode_reset = null;
- protected String httpMode_retry_after = null;
- protected String httpMode_retry_after_backoff = null;
-
- public AbstractPolicyConfiguration(){
- // usato da console
- }
- public AbstractPolicyConfiguration(boolean runtime) throws Exception{
- this.initRuntimeInfo(runtime);
- }
- public AbstractPolicyConfiguration(List<Proprieta> p) throws Exception{
- this(p, null, true);
- }
- public AbstractPolicyConfiguration(List<Proprieta> p, List<PolicyGroupByActiveThreadsType> tipiSupportati, boolean runtime) throws Exception{
- if(p!=null && !p.isEmpty()) {
-
- if(tipiSupportati==null) {
- if(runtime) {
- tipiSupportati = new ArrayList<PolicyGroupByActiveThreadsType>();
- for (PolicyGroupByActiveThreadsType type : PolicyGroupByActiveThreadsType.values()) {
- tipiSupportati.add(type);
- }
- }
- else {
- throw new Exception("Tipi supportati non indicati");
- }
- }
-
- String gestorePolicyConfigDate = getValue(p, Costanti.GESTORE_CONFIG_DATE, null);
- if(gestorePolicyConfigDate!=null) {
- this.gestorePolicyConfigDate = Long.valueOf(gestorePolicyConfigDate);
- }
-
- this.syncMode = getValue(p, Costanti.MODALITA_SINCRONIZZAZIONE, Costanti.VALUE_MODALITA_SINCRONIZZAZIONE_DEFAULT);
- if(!Costanti.getVALUES_MODALITA_SINCRONIZZAZIONE(tipiSupportati).contains(this.syncMode)) {
- throw new Exception("Value '"+this.syncMode+"' unsupported for property '"+Costanti.MODALITA_SINCRONIZZAZIONE+"'");
- }
-
- if(Costanti.VALUE_MODALITA_SINCRONIZZAZIONE_DISTRIBUITA.equals(this.syncMode)) {
- this.impl = getValue(p, Costanti.MODALITA_IMPLEMENTAZIONE, null);
- if(this.impl==null) {
- if(runtime) {
- throw new Exception("Value undefined for property '"+Costanti.MODALITA_IMPLEMENTAZIONE+"'");
- }
- else {
- // default
- this.impl = Costanti.getVALUES_MODALITA_IMPLEMENTAZIONE(tipiSupportati).get(0);
- }
- }
- if(!Costanti.getVALUES_MODALITA_IMPLEMENTAZIONE(tipiSupportati).contains(this.impl)) {
- throw new Exception("Value '"+this.impl+"' unsupported for property '"+Costanti.MODALITA_IMPLEMENTAZIONE+"'");
- }
-
- if(Costanti.VALUE_MODALITA_IMPLEMENTAZIONE_HAZELCAST.equals(this.impl) ||
- Costanti.VALUE_MODALITA_IMPLEMENTAZIONE_REDIS.equals(this.impl)) {
-
- this.count = getValue(p, Costanti.MODALITA_CONTATORI, null);
- if(this.count==null) {
- if(runtime) {
- throw new Exception("Value undefined for property '"+Costanti.MODALITA_CONTATORI+"'");
- }
- else {
- // default
- this.count = Costanti.getVALUES_MODALITA_CONTATORI(tipiSupportati, this.impl).get(0);
- }
- }
- if(!Costanti.getVALUES_MODALITA_CONTATORI(tipiSupportati, this.impl).contains(this.count)) {
- if(runtime) {
- throw new Exception("Value '"+this.count+"' unsupported for property '"+Costanti.MODALITA_CONTATORI+"'");
- }
- else {
- // default (e' cambiato impl)
- this.count = Costanti.getVALUES_MODALITA_CONTATORI(tipiSupportati, this.impl).get(0);
- }
- }
-
- this.engineType = getValue(p, Costanti.MODALITA_TIPOLOGIA, null);
- if(this.engineType==null) {
- if(runtime) {
- throw new Exception("Value undefined for property '"+Costanti.MODALITA_TIPOLOGIA+"'");
- }
- else {
- // default
- this.engineType = Costanti.getVALUES_MODALITA_TIPOLOGIA(tipiSupportati, this.impl, this.count).get(0);
- }
- }
- if(!Costanti.getVALUES_MODALITA_TIPOLOGIA(tipiSupportati, this.impl, this.count).contains(this.engineType)) {
- if(runtime) {
- throw new Exception("Value '"+this.engineType+"' unsupported for property '"+Costanti.MODALITA_TIPOLOGIA+"'");
- }
- else {
- // default (e' cambiato impl o count)
- this.engineType = Costanti.getVALUES_MODALITA_TIPOLOGIA(tipiSupportati, this.impl, this.count).get(0);
- }
- }
- }
- }
-
- this.httpMode = getValue(p, Costanti.MODALITA_GENERAZIONE_HEADER_HTTP, Costanti.VALUE_HTTP_HEADER_DEFAULT);
- if(!Costanti.VALUES_MODALITA_GENERAZIONE_HEADER_HTTP.contains(this.httpMode)) {
- throw new Exception("Value '"+this.httpMode+"' unsupported for property '"+Costanti.MODALITA_GENERAZIONE_HEADER_HTTP+"'");
- }
- if(Costanti.VALUE_HTTP_HEADER_RIDEFINITO.equals(this.httpMode)) {
-
- this.httpMode_limit = getValue(p, Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_LIMIT, Costanti.VALUE_HTTP_HEADER_DEFAULT);
- if(!Costanti.VALUES_MODALITA_GENERAZIONE_HEADER_HTTP_LIMIT.contains(this.httpMode_limit)) {
- throw new Exception("Value '"+this.httpMode_limit+"' unsupported for property '"+Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_LIMIT+"'");
- }
-
- this.httpMode_remaining = getValue(p, Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_REMAINING, Costanti.VALUE_HTTP_HEADER_DEFAULT);
- if(!Costanti.VALUES_MODALITA_GENERAZIONE_HEADER_HTTP_REMAINING.contains(this.httpMode_remaining)) {
- throw new Exception("Value '"+this.httpMode_remaining+"' unsupported for property '"+Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_REMAINING+"'");
- }
-
- this.httpMode_reset = getValue(p, Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RESET, Costanti.VALUE_HTTP_HEADER_DEFAULT);
- if(!Costanti.VALUES_MODALITA_GENERAZIONE_HEADER_HTTP_RESET.contains(this.httpMode_reset)) {
- throw new Exception("Value '"+this.httpMode_reset+"' unsupported for property '"+Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RESET+"'");
- }
-
- this.httpMode_retry_after = getValue(p, Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RETRY_AFTER, Costanti.VALUE_HTTP_HEADER_DEFAULT);
- if(!Costanti.VALUES_MODALITA_GENERAZIONE_HEADER_HTTP_RETRY_AFTER.contains(this.httpMode_retry_after)) {
- throw new Exception("Value '"+this.httpMode_retry_after+"' unsupported for property '"+Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RETRY_AFTER+"'");
- }
-
- if(Costanti.VALUE_HTTP_HEADER_ABILITATO_BACKOFF.equals(this.httpMode_retry_after)) {
- this.httpMode_retry_after_backoff = getValue(p, Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RETRY_AFTER_BACKOFF_SECONDS, null);
- }
- }
- }
- this.initRuntimeInfo(runtime);
- }
-
- private static String getValue(List<Proprieta> p, String name, String defaultV) {
- String tmp = null;
- if(p!=null && !p.isEmpty()) {
- for (Proprieta proprieta : p) {
- if(proprieta.getNome().equals(name)) {
- tmp = proprieta.getValore();
- break;
- }
- }
- }
- if(tmp!=null) {
- tmp = tmp.trim();
- }
- if(tmp!=null && StringUtils.isNotEmpty(tmp)) {
- return tmp;
- }
- else {
- return defaultV;
- }
- }
-
-
- private static Map<String, PolicyGroupByActiveThreadsType> mappingCostantiToHazelcastExact = Map.of(
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_CONTATORI_ATOMIC_LONG, PolicyGroupByActiveThreadsType.HAZELCAST_ATOMIC_LONG,
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_FULL_SYNC, PolicyGroupByActiveThreadsType.HAZELCAST_MAP
- );
-
-
- private static Map<String, PolicyGroupByActiveThreadsType> mappingCostantiToHazelcastApprox = Map.of(
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_CONTATORI_PNCOUNTER, PolicyGroupByActiveThreadsType.HAZELCAST_PNCOUNTER,
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_CONTATORI_ATOMIC_LONG_ASYNC, PolicyGroupByActiveThreadsType.HAZELCAST_ATOMIC_LONG_ASYNC,
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_NEAR_CACHE, PolicyGroupByActiveThreadsType.HAZELCAST_NEAR_CACHE,
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_LOCAL_CACHE, PolicyGroupByActiveThreadsType.HAZELCAST_LOCAL_CACHE
- );
-
- private static Map<String, PolicyGroupByActiveThreadsType> mappingCostantiToHazelcastInconsistent = Map.of(
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_REMOTE_SYNC, PolicyGroupByActiveThreadsType.HAZELCAST_NEAR_CACHE_UNSAFE_SYNC_MAP,
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_REMOTE_ASYNC, PolicyGroupByActiveThreadsType.HAZELCAST_NEAR_CACHE_UNSAFE_ASYNC_MAP,
- Costanti.VALUE_MODALITA_TIPOLOGIA_HAZELCAST_REPLICATED_MAP, PolicyGroupByActiveThreadsType.HAZELCAST_REPLICATED_MAP
- );
-
-
- private static Map<String, PolicyGroupByActiveThreadsType> mappingCostantiToRedisExact = Map.of(
- Costanti.VALUE_MODALITA_TIPOLOGIA_REDIS_CONTATORI_ATOMIC_LONG, PolicyGroupByActiveThreadsType.REDISSON_ATOMIC_LONG,
- Costanti.VALUE_MODALITA_TIPOLOGIA_REDIS_REDDISSON_MAP, PolicyGroupByActiveThreadsType.REDISSON_MAP
- );
-
-
- private static Map<String, PolicyGroupByActiveThreadsType> mappingCostantiToRedisInconsistent= Map.of(
- Costanti.VALUE_MODALITA_TIPOLOGIA_REDIS_CONTATORI_LONGADDER, PolicyGroupByActiveThreadsType.REDISSON_LONGADDER
- );
-
-
- private void initRuntimeInfo(boolean all) throws Exception {
- if(!Costanti.VALUE_MODALITA_SINCRONIZZAZIONE_DEFAULT.equals(this.syncMode)) {
- if(Costanti.VALUE_MODALITA_SINCRONIZZAZIONE_LOCALE.equals(this.syncMode)) {
- this.type = PolicyGroupByActiveThreadsType.LOCAL;
- }
- else if(Costanti.VALUE_MODALITA_SINCRONIZZAZIONE_LOCALE_SUDDIVISA_TRA_NODI.equals(this.syncMode)) {
- this.type = PolicyGroupByActiveThreadsType.LOCAL_DIVIDED_BY_NODES;
- }
- else if(Costanti.VALUE_MODALITA_SINCRONIZZAZIONE_DISTRIBUITA.equals(this.syncMode)) {
- if(Costanti.VALUE_MODALITA_IMPLEMENTAZIONE_DATABASE.equals(this.impl)) {
- this.type = PolicyGroupByActiveThreadsType.DATABASE;
- }
- else if(Costanti.VALUE_MODALITA_IMPLEMENTAZIONE_HAZELCAST.equals(this.impl)) {
- if(Costanti.VALUE_MODALITA_CONTATORI_EXACT.equals(this.count)) {
- this.type = mappingCostantiToHazelcastExact.get(this.engineType);
- }
- else if(Costanti.VALUE_MODALITA_CONTATORI_APPROXIMATED.equals(this.count)) {
- this.type = mappingCostantiToHazelcastApprox.get(this.engineType);
- }
- else if(Costanti.VALUE_MODALITA_CONTATORI_INCONSISTENT.equals(this.count)) {
- this.type = mappingCostantiToHazelcastInconsistent.get(this.engineType);
- }
- }
- else if(Costanti.VALUE_MODALITA_IMPLEMENTAZIONE_REDIS.equals(this.impl)) {
- if(Costanti.VALUE_MODALITA_CONTATORI_EXACT.equals(this.count)) {
- this.type = mappingCostantiToRedisExact.get(this.engineType);
- }
- // else if(Costanti.VALUE_MODALITA_CONTATORI_APPROXIMATED.equals(this.count)) {
- // this.type = mappingCostantiToRedisApprox.get(this.engineType);
- // }
- else if(Costanti.VALUE_MODALITA_CONTATORI_INCONSISTENT.equals(this.count)) {
- this.type = mappingCostantiToRedisInconsistent.get(this.engineType);
- }
- }
- }
- }
-
- if(all) {
- initRuntimeInfoAll();
- }
-
- }
- protected abstract void initRuntimeInfoAll() throws Exception;
-
- public void saveIn(List<Proprieta> list) throws Exception {
- this.initRuntimeInfo(false);
- if(this.type!=null) {
- list.add(newProprieta(Costanti.GESTORE, this.type.name()));
- }
- if(this.gestorePolicyConfigDate!=null) {
- list.add(newProprieta(Costanti.GESTORE_CONFIG_DATE, this.gestorePolicyConfigDate.longValue()+""));
- }
- list.add(newProprieta(Costanti.MODALITA_SINCRONIZZAZIONE, this.syncMode));
- if(this.impl!=null && StringUtils.isNotEmpty(this.impl)) {
- list.add(newProprieta(Costanti.MODALITA_IMPLEMENTAZIONE, this.impl));
- }
- if(this.count!=null && StringUtils.isNotEmpty(this.count)) {
- list.add(newProprieta(Costanti.MODALITA_CONTATORI, this.count));
- }
- if(this.engineType!=null && StringUtils.isNotEmpty(this.engineType)) {
- list.add(newProprieta(Costanti.MODALITA_TIPOLOGIA, this.engineType));
- }
-
- list.add(newProprieta(Costanti.MODALITA_GENERAZIONE_HEADER_HTTP, this.httpMode));
- if(this.httpMode_limit!=null && StringUtils.isNotEmpty(this.httpMode_limit)) {
- list.add(newProprieta(Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_LIMIT, this.httpMode_limit));
- }
- if(this.httpMode_remaining!=null && StringUtils.isNotEmpty(this.httpMode_remaining)) {
- list.add(newProprieta(Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_REMAINING, this.httpMode_remaining));
- }
- if(this.httpMode_reset!=null && StringUtils.isNotEmpty(this.httpMode_reset)) {
- list.add(newProprieta(Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RESET, this.httpMode_reset));
- }
- if(this.httpMode_retry_after!=null && StringUtils.isNotEmpty(this.httpMode_retry_after)) {
- list.add(newProprieta(Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RETRY_AFTER, this.httpMode_retry_after));
- }
- if(this.httpMode_retry_after_backoff!=null && StringUtils.isNotEmpty(this.httpMode_retry_after_backoff)) {
- list.add(newProprieta(Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RETRY_AFTER_BACKOFF_SECONDS, this.httpMode_retry_after_backoff));
- }
- }
- private Proprieta newProprieta(String nome, String valore) {
- Proprieta p = new Proprieta();
- p.setNome(nome);
- p.setValore(valore);
- return p;
- }
-
- public Long getGestorePolicyConfigDate() {
- return this.gestorePolicyConfigDate;
- }
- public void setGestorePolicyConfigDate(Long gestorePolicyConfigDate) {
- this.gestorePolicyConfigDate = gestorePolicyConfigDate;
- }
- public String getSyncMode() {
- return this.syncMode;
- }
- public void setSyncMode(String syncMode) {
- if(syncMode!=null && StringUtils.isNotEmpty(syncMode)) {
- this.syncMode = syncMode;
- }
- else {
- this.syncMode = Costanti.VALUE_MODALITA_SINCRONIZZAZIONE_DEFAULT;
- }
- }
- public String getImpl() {
- return this.impl;
- }
- public void setImpl(String impl) {
- if(impl!=null && StringUtils.isNotEmpty(impl)) {
- this.impl = impl;
- }
- else {
- this.impl = null;
- }
- }
- public String getCount() {
- return this.count;
- }
- public void setCount(String count) {
- if(count!=null && StringUtils.isNotEmpty(count)) {
- this.count = count;
- }
- else {
- this.count = null;
- }
- }
- public String getEngineType() {
- return this.engineType;
- }
- public void setEngineType(String engineType) {
- if(engineType!=null && StringUtils.isNotEmpty(engineType)) {
- this.engineType = engineType;
- }
- else {
- this.engineType = null;
- }
- }
- public String getHttpMode() {
- return this.httpMode;
- }
- public void setHttpMode(String httpMode) {
- if(httpMode!=null && StringUtils.isNotEmpty(httpMode)) {
- this.httpMode = httpMode;
- }
- else {
- this.httpMode = Costanti.VALUE_HTTP_HEADER_DEFAULT;
- }
- }
- public String getHttpMode_limit() {
- return this.httpMode_limit;
- }
- public void setHttpMode_limit(String httpMode_limit) {
- if(httpMode_limit!=null && StringUtils.isNotEmpty(httpMode_limit)) {
- this.httpMode_limit = httpMode_limit;
- }
- else {
- this.httpMode_limit = null;
- }
- }
- public String getHttpMode_remaining() {
- return this.httpMode_remaining;
- }
- public void setHttpMode_remaining(String httpMode_remaining) {
- if(httpMode_remaining!=null && StringUtils.isNotEmpty(httpMode_remaining)) {
- this.httpMode_remaining = httpMode_remaining;
- }
- else {
- this.httpMode_remaining = null;
- }
- }
- public String getHttpMode_reset() {
- return this.httpMode_reset;
- }
- public void setHttpMode_reset(String httpMode_reset) {
- if(httpMode_reset!=null && StringUtils.isNotEmpty(httpMode_reset)) {
- this.httpMode_reset = httpMode_reset;
- }
- else {
- this.httpMode_reset = null;
- }
- }
- public String getHttpMode_retry_after() {
- return this.httpMode_retry_after;
- }
- public void setHttpMode_retry_after(String httpMode_retry_after) {
- if(httpMode_retry_after!=null && StringUtils.isNotEmpty(httpMode_retry_after)) {
- this.httpMode_retry_after = httpMode_retry_after;
- }
- else {
- this.httpMode_retry_after = null;
- }
- }
- public String getHttpMode_retry_after_backoff() {
- return this.httpMode_retry_after_backoff;
- }
- public void setHttpMode_retry_after_backoff(String httpMode_retry_after_backoff) {
- if(httpMode_retry_after_backoff!=null && StringUtils.isNotEmpty(httpMode_retry_after_backoff)) {
- this.httpMode_retry_after_backoff = httpMode_retry_after_backoff;
- }
- else {
- this.httpMode_retry_after_backoff = null;
- }
- }
-
- public boolean isGestionePolicyRidefinita() {
- return this.gestionePolicyRidefinita;
- }
- public PolicyGroupByActiveThreadsType getType() {
- return this.type;
- }
- public boolean isLOCAL_DIVIDED_BY_NODES_remaining_zeroValue() {
- return this.LOCAL_DIVIDED_BY_NODES_remaining_zeroValue;
- }
- public boolean isLOCAL_DIVIDED_BY_NODES_limit_roundingDown() {
- return this.LOCAL_DIVIDED_BY_NODES_limit_roundingDown;
- }
- public boolean isLOCAL_DIVIDED_BY_NODES_limit_normalizedQuota() {
- return this.LOCAL_DIVIDED_BY_NODES_limit_normalizedQuota;
- }
- public boolean isGestioneHttpHeadersRidefinita() {
- return this.gestioneHttpHeadersRidefinita;
- }
- public boolean isDisabledHttpHeaders() {
- return this.disabledHttpHeaders;
- }
- public boolean isDisabledHttpHeaders_limit() {
- return this.disabledHttpHeaders_limit;
- }
- public boolean isForceHttpHeaders_limit_no_windows() {
- return this.forceHttpHeaders_limit_no_windows;
- }
- public boolean isForceHttpHeaders_limit_windows() {
- return this.forceHttpHeaders_limit_windows;
- }
- public boolean isDisabledHttpHeaders_remaining() {
- return this.disabledHttpHeaders_remaining;
- }
- public boolean isDisabledHttpHeaders_reset() {
- return this.disabledHttpHeaders_reset;
- }
- public boolean isDisabledHttpHeaders_retryAfter() {
- return this.disabledHttpHeaders_retryAfter;
- }
- public boolean isForceDisabledHttpHeaders_retryAfter_backoff() {
- return this.forceDisabledHttpHeaders_retryAfter_backoff;
- }
- public int getForceHttpHeaders_retryAfter_backoff() {
- return this.forceHttpHeaders_retryAfter_backoff;
- }
- }