package com.l7tech.server.log.syslog;

import com.l7tech.objectmodel.Goid;
import java.net.SocketAddress;

public class SyslogConfig {
   private SyslogProtocol a;
   private SocketAddress[] b;
   private String c;
   private Goid d;
   private int e;
   private int f;
   private int g;
   private int h;
   private int i;
   private int j;
   private boolean k;

   private SyslogConfig() {
   }

   public boolean isSSL() {
      return SyslogProtocol.SSL.equals(this.a);
   }

   public SyslogProtocol getProtocol() {
      return this.a;
   }

   public SocketAddress[] getSyslogAddresses() {
      return this.b;
   }

   public String getSslKeystoreAlias() {
      return this.c;
   }

   public Goid getSslKeystoreId() {
      return this.d;
   }

   public int getQueueSize() {
      return this.e;
   }

   public int getConnectTimeOut() {
      return this.f;
   }

   public int getMaxReconnectAttempts() {
      return this.g;
   }

   public int getReconnectInterval() {
      return this.h;
   }

   public int getDropSize() {
      return this.j;
   }

   public boolean isValidateExtendedKeyUsage() {
      return this.k;
   }

   public static class Builder {
      private SyslogProtocol a;
      private SocketAddress[] b;
      private String c;
      private Goid d;
      private int e;
      private int f;
      private int g;
      private int h;
      private int i;
      private boolean j;

      public SyslogConfig.Builder setProtocol(SyslogProtocol var1) {
         this.a = var1;
         return this;
      }

      public SyslogConfig.Builder setAddresses(SocketAddress[] var1) {
         this.b = var1;
         return this;
      }

      public SyslogConfig.Builder setSslKeystoreAlias(String var1) {
         this.c = var1;
         return this;
      }

      public SyslogConfig.Builder setSslKeystoreId(Goid var1) {
         this.d = var1;
         return this;
      }

      public SyslogConfig.Builder setQueueSize(int var1) {
         this.e = var1;
         return this;
      }

      public SyslogConfig.Builder setConnectTimeOut(int var1) {
         this.f = var1;
         return this;
      }

      public SyslogConfig.Builder setMaxReconnectAttempts(int var1) {
         this.g = var1;
         return this;
      }

      public SyslogConfig.Builder setReconnectInterval(int var1) {
         this.h = var1;
         return this;
      }

      public SyslogConfig.Builder setDropRatePercent(int var1) {
         this.i = var1;
         return this;
      }

      public SyslogConfig.Builder setValidateExtendedKeyUsage(boolean var1) {
         this.j = var1;
         return this;
      }

      public SyslogConfig createSyslogConfig() {
         SyslogConfig var1 = new SyslogConfig();
         var1.f = this.f;
         var1.i = this.i;
         var1.g = this.g;
         var1.a = this.a;
         var1.e = this.e;
         var1.h = this.h;
         var1.c = this.c;
         var1.d = this.d;
         var1.b = this.b;
         var1.j = Math.max(1, (int)(var1.e * (var1.i / 100.0)));
         var1.k = this.j;
         return var1;
      }
   }
}
