com.spotinst.sdkjava.model.bl.azure.elastiGroup.V3.ElastigroupVmSizesAzure Maven / Gradle / Ivy
package com.spotinst.sdkjava.model.bl.azure.elastiGroup.V3;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
public class ElastigroupVmSizesAzure {
//region Members
// Partial Update support
@JsonIgnore
private Set isSet;
private List odSizes;
private List spotSizes;
//endregion
//region Constructors
private ElastigroupVmSizesAzure() {
isSet = new HashSet<>();
}
//endregion
//region Getters & Setters
public Set getIsSet() {
return isSet;
}
public void setIsSet(Set isSet) {
this.isSet = isSet;
}
public List getOdSizes() {
return odSizes;
}
public void setOdSizes(List odSizes) {
isSet.add("odSizes");
this.odSizes = odSizes;
}
public List getSpotSizes() {
return spotSizes;
}
public void setSpotSizes(List spotSizes) {
isSet.add("spotSizes");
this.spotSizes = spotSizes;
}
//endregion
//region Object overrides
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ElastigroupVmSizesAzure that = (ElastigroupVmSizesAzure) o;
if (!Objects.equals(odSizes, that.odSizes)) {
return false;
}
return Objects.equals(spotSizes, that.spotSizes);
}
@Override
public int hashCode() {
int result = odSizes != null ? odSizes.hashCode() : 0;
result = 31 * result + (spotSizes != null ? spotSizes.hashCode() : 0);
return result;
}
//endregion
//region Builder class
public static class Builder {
private ElastigroupVmSizesAzure vmSizesAzure;
private Builder() {
this.vmSizesAzure = new ElastigroupVmSizesAzure();
}
public static Builder get() {
return new Builder();
}
public Builder setSpotSizes(final List spotSizes) {
vmSizesAzure.setSpotSizes(spotSizes);
return this;
}
public Builder setOdSizes(final List odSizes) {
vmSizesAzure.setOdSizes(odSizes);
return this;
}
public ElastigroupVmSizesAzure build() {
// TODO : Validations
return vmSizesAzure;
}
}
//endregion
//region isSet methods
// Is odSizes Set boolean method
@JsonIgnore
public boolean isOdSizesSet() {
return isSet.contains("odSizes");
}
// Is spotSizes Set boolean method
@JsonIgnore
public boolean isSpotSizesSet() {
return isSet.contains("spotSizes");
}
//endregion
}