package com.marcosbarbero.zuul.filters.pre.ratelimit.config;

/**
 * Represents a view of rate limit in a giving time for a user.
 * <p>
 * limit - How many requests can be executed by the user. Maps to X-RateLimit-Limit header
 * remaining - How many requests are still left on the current window. Maps to X-RateLimit-Remaining header
 * reset - Epoch when the rate is replenished by limit. Maps to X-RateLimit-Reset header
 *
 * @author Marcos Barbero
 */
public class Rate {
    private Long limit;

    private Long remaining;

    private Long reset;

    public Rate(Long limit, Long remaining, Long reset) {
        this.limit = limit;
        this.remaining = remaining;
        this.reset = reset;
    }

    public Long getLimit() {
        return limit;
    }

    public void setLimit(Long limit) {
        this.limit = limit;
    }

    public Long getRemaining() {
        return remaining;
    }

    public void setRemaining(Long remaining) {
        this.remaining = remaining;
    }

    public Long getReset() {
        return reset;
    }

    public void setReset(Long reset) {
        this.reset = reset;
    }
}

@@ -55,16 +55,104 @@
 onfig;%0A%0A
+import lombok.AllArgsConstructor;%0Aimport lombok.Data;%0Aimport lombok.NoArgsConstructor;%0A%0A
 /**%0A * R
@@ -539,16 +539,61 @@
 ero%0A */%0A
+@Data%0A@NoArgsConstructor%0A@AllArgsConstructor%0A
 public c
@@ -604,16 +604,17 @@
  Rate %7B%0A
+%0A
     priv
@@ -629,17 +629,16 @@
  limit;%0A
-%0A
     priv
@@ -657,17 +657,16 @@
 aining;%0A
-%0A
     priv
@@ -686,582 +686,6 @@
 t;%0A%0A
-    public Rate(Long limit, Long remaining, Long reset) %7B%0A        this.limit = limit;%0A        this.remaining = remaining;%0A        this.reset = reset;%0A    %7D%0A%0A    public Long getLimit() %7B%0A        return limit;%0A    %7D%0A%0A    public void setLimit(Long limit) %7B%0A        this.limit = limit;%0A    %7D%0A%0A    public Long getRemaining() %7B%0A        return remaining;%0A    %7D%0A%0A    public void setRemaining(Long remaining) %7B%0A        this.remaining = remaining;%0A    %7D%0A%0A    public Long getReset() %7B%0A        return reset;%0A    %7D%0A%0A    public void setReset(Long reset) %7B%0A        this.reset = reset;%0A    %7D%0A
 %7D%0A

Add lombok annotations