
com.merge.api.resources.ats.users.requests.UsersRetrieveRequest Maven / Gradle / Ivy
package com.merge.api.resources.ats.users.requests;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.Objects;
import java.util.Optional;
@JsonDeserialize(builder = UsersRetrieveRequest.Builder.class)
public final class UsersRetrieveRequest {
private final Optional includeRemoteData;
private final Optional remoteFields;
private final Optional showEnumOrigins;
private UsersRetrieveRequest(
Optional includeRemoteData, Optional remoteFields, Optional showEnumOrigins) {
this.includeRemoteData = includeRemoteData;
this.remoteFields = remoteFields;
this.showEnumOrigins = showEnumOrigins;
}
/**
* @return Whether to include the original data Merge fetched from the third-party to produce these models.
*/
@JsonProperty("include_remote_data")
public Optional getIncludeRemoteData() {
return includeRemoteData;
}
/**
* @return Deprecated. Use show_enum_origins.
*/
@JsonProperty("remote_fields")
public Optional getRemoteFields() {
return remoteFields;
}
/**
* @return Which fields should be returned in non-normalized form.
*/
@JsonProperty("show_enum_origins")
public Optional getShowEnumOrigins() {
return showEnumOrigins;
}
@Override
public boolean equals(Object other) {
if (this == other) return true;
return other instanceof UsersRetrieveRequest && equalTo((UsersRetrieveRequest) other);
}
private boolean equalTo(UsersRetrieveRequest other) {
return includeRemoteData.equals(other.includeRemoteData)
&& remoteFields.equals(other.remoteFields)
&& showEnumOrigins.equals(other.showEnumOrigins);
}
@Override
public int hashCode() {
return Objects.hash(this.includeRemoteData, this.remoteFields, this.showEnumOrigins);
}
@Override
public String toString() {
return "UsersRetrieveRequest{" + "includeRemoteData: " + includeRemoteData + ", remoteFields: " + remoteFields
+ ", showEnumOrigins: " + showEnumOrigins + "}";
}
public static Builder builder() {
return new Builder();
}
@JsonIgnoreProperties(ignoreUnknown = true)
public static final class Builder {
private Optional includeRemoteData = Optional.empty();
private Optional remoteFields = Optional.empty();
private Optional showEnumOrigins = Optional.empty();
private Builder() {}
public Builder from(UsersRetrieveRequest other) {
includeRemoteData(other.getIncludeRemoteData());
remoteFields(other.getRemoteFields());
showEnumOrigins(other.getShowEnumOrigins());
return this;
}
@JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP)
public Builder includeRemoteData(Optional includeRemoteData) {
this.includeRemoteData = includeRemoteData;
return this;
}
public Builder includeRemoteData(Boolean includeRemoteData) {
this.includeRemoteData = Optional.of(includeRemoteData);
return this;
}
@JsonSetter(value = "remote_fields", nulls = Nulls.SKIP)
public Builder remoteFields(Optional remoteFields) {
this.remoteFields = remoteFields;
return this;
}
public Builder remoteFields(String remoteFields) {
this.remoteFields = Optional.of(remoteFields);
return this;
}
@JsonSetter(value = "show_enum_origins", nulls = Nulls.SKIP)
public Builder showEnumOrigins(Optional showEnumOrigins) {
this.showEnumOrigins = showEnumOrigins;
return this;
}
public Builder showEnumOrigins(String showEnumOrigins) {
this.showEnumOrigins = Optional.of(showEnumOrigins);
return this;
}
public UsersRetrieveRequest build() {
return new UsersRetrieveRequest(includeRemoteData, remoteFields, showEnumOrigins);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy