org.graylog2.lookup.caches.$AutoValue_GuavaLookupCache_Config Maven / Gradle / Ivy
package org.graylog2.lookup.caches;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.concurrent.TimeUnit;
import javax.annotation.Generated;
import javax.annotation.Nullable;
import javax.validation.constraints.Min;
@Generated("com.google.auto.value.processor.AutoValueProcessor")
abstract class $AutoValue_GuavaLookupCache_Config extends GuavaLookupCache.Config {
private final String type;
private final @Min(value = 0L) int maxSize;
private final @Min(value = 0L) long expireAfterAccess;
private final TimeUnit expireAfterAccessUnit;
private final @Min(value = 0L) long expireAfterWrite;
private final TimeUnit expireAfterWriteUnit;
$AutoValue_GuavaLookupCache_Config(
String type,
@Min(value = 0L) int maxSize,
@Min(value = 0L) long expireAfterAccess,
@Nullable TimeUnit expireAfterAccessUnit,
@Min(value = 0L) long expireAfterWrite,
@Nullable TimeUnit expireAfterWriteUnit) {
if (type == null) {
throw new NullPointerException("Null type");
}
this.type = type;
this.maxSize = maxSize;
this.expireAfterAccess = expireAfterAccess;
this.expireAfterAccessUnit = expireAfterAccessUnit;
this.expireAfterWrite = expireAfterWrite;
this.expireAfterWriteUnit = expireAfterWriteUnit;
}
@JsonProperty(value = "type")
@Override
public String type() {
return type;
}
@JsonProperty(value = "max_size")
@Override
public @Min(value = 0L) int maxSize() {
return maxSize;
}
@JsonProperty(value = "expire_after_access")
@Override
public @Min(value = 0L) long expireAfterAccess() {
return expireAfterAccess;
}
@Nullable
@JsonProperty(value = "expire_after_access_unit")
@Override
public TimeUnit expireAfterAccessUnit() {
return expireAfterAccessUnit;
}
@JsonProperty(value = "expire_after_write")
@Override
public @Min(value = 0L) long expireAfterWrite() {
return expireAfterWrite;
}
@Nullable
@JsonProperty(value = "expire_after_write_unit")
@Override
public TimeUnit expireAfterWriteUnit() {
return expireAfterWriteUnit;
}
@Override
public String toString() {
return "Config{"
+ "type=" + type + ", "
+ "maxSize=" + maxSize + ", "
+ "expireAfterAccess=" + expireAfterAccess + ", "
+ "expireAfterAccessUnit=" + expireAfterAccessUnit + ", "
+ "expireAfterWrite=" + expireAfterWrite + ", "
+ "expireAfterWriteUnit=" + expireAfterWriteUnit
+ "}";
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (o instanceof GuavaLookupCache.Config) {
GuavaLookupCache.Config that = (GuavaLookupCache.Config) o;
return (this.type.equals(that.type()))
&& (this.maxSize == that.maxSize())
&& (this.expireAfterAccess == that.expireAfterAccess())
&& ((this.expireAfterAccessUnit == null) ? (that.expireAfterAccessUnit() == null) : this.expireAfterAccessUnit.equals(that.expireAfterAccessUnit()))
&& (this.expireAfterWrite == that.expireAfterWrite())
&& ((this.expireAfterWriteUnit == null) ? (that.expireAfterWriteUnit() == null) : this.expireAfterWriteUnit.equals(that.expireAfterWriteUnit()));
}
return false;
}
@Override
public int hashCode() {
int h = 1;
h *= 1000003;
h ^= this.type.hashCode();
h *= 1000003;
h ^= this.maxSize;
h *= 1000003;
h ^= (int) ((this.expireAfterAccess >>> 32) ^ this.expireAfterAccess);
h *= 1000003;
h ^= (expireAfterAccessUnit == null) ? 0 : this.expireAfterAccessUnit.hashCode();
h *= 1000003;
h ^= (int) ((this.expireAfterWrite >>> 32) ^ this.expireAfterWrite);
h *= 1000003;
h ^= (expireAfterWriteUnit == null) ? 0 : this.expireAfterWriteUnit.hashCode();
return h;
}
static final class Builder extends GuavaLookupCache.Config.Builder {
private String type;
private Integer maxSize;
private Long expireAfterAccess;
private TimeUnit expireAfterAccessUnit;
private Long expireAfterWrite;
private TimeUnit expireAfterWriteUnit;
Builder() {
}
@Override
public GuavaLookupCache.Config.Builder type(String type) {
if (type == null) {
throw new NullPointerException("Null type");
}
this.type = type;
return this;
}
@Override
public GuavaLookupCache.Config.Builder maxSize(int maxSize) {
this.maxSize = maxSize;
return this;
}
@Override
public GuavaLookupCache.Config.Builder expireAfterAccess(long expireAfterAccess) {
this.expireAfterAccess = expireAfterAccess;
return this;
}
@Override
public GuavaLookupCache.Config.Builder expireAfterAccessUnit(@Nullable TimeUnit expireAfterAccessUnit) {
this.expireAfterAccessUnit = expireAfterAccessUnit;
return this;
}
@Override
public GuavaLookupCache.Config.Builder expireAfterWrite(long expireAfterWrite) {
this.expireAfterWrite = expireAfterWrite;
return this;
}
@Override
public GuavaLookupCache.Config.Builder expireAfterWriteUnit(@Nullable TimeUnit expireAfterWriteUnit) {
this.expireAfterWriteUnit = expireAfterWriteUnit;
return this;
}
@Override
public GuavaLookupCache.Config build() {
String missing = "";
if (this.type == null) {
missing += " type";
}
if (this.maxSize == null) {
missing += " maxSize";
}
if (this.expireAfterAccess == null) {
missing += " expireAfterAccess";
}
if (this.expireAfterWrite == null) {
missing += " expireAfterWrite";
}
if (!missing.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + missing);
}
return new AutoValue_GuavaLookupCache_Config(
this.type,
this.maxSize,
this.expireAfterAccess,
this.expireAfterAccessUnit,
this.expireAfterWrite,
this.expireAfterWriteUnit);
}
}
}