001package com.box.sdkgen.schemas.devicepinners; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.serialization.json.EnumWrapper; 006import com.fasterxml.jackson.annotation.JsonFilter; 007import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 008import com.fasterxml.jackson.databind.annotation.JsonSerialize; 009import java.util.Objects; 010 011@JsonFilter("nullablePropertyFilter") 012public class DevicePinnersOrderField extends SerializableObject { 013 014 /** The field that is ordered by. */ 015 @JsonDeserialize(using = DevicePinnersOrderByField.DevicePinnersOrderByFieldDeserializer.class) 016 @JsonSerialize(using = DevicePinnersOrderByField.DevicePinnersOrderByFieldSerializer.class) 017 protected EnumWrapper<DevicePinnersOrderByField> by; 018 019 /** The direction to order by, either ascending or descending. */ 020 @JsonDeserialize( 021 using = DevicePinnersOrderDirectionField.DevicePinnersOrderDirectionFieldDeserializer.class) 022 @JsonSerialize( 023 using = DevicePinnersOrderDirectionField.DevicePinnersOrderDirectionFieldSerializer.class) 024 protected EnumWrapper<DevicePinnersOrderDirectionField> direction; 025 026 public DevicePinnersOrderField() { 027 super(); 028 } 029 030 protected DevicePinnersOrderField(Builder builder) { 031 super(); 032 this.by = builder.by; 033 this.direction = builder.direction; 034 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 035 } 036 037 public EnumWrapper<DevicePinnersOrderByField> getBy() { 038 return by; 039 } 040 041 public EnumWrapper<DevicePinnersOrderDirectionField> getDirection() { 042 return direction; 043 } 044 045 @Override 046 public boolean equals(Object o) { 047 if (this == o) { 048 return true; 049 } 050 if (o == null || getClass() != o.getClass()) { 051 return false; 052 } 053 DevicePinnersOrderField casted = (DevicePinnersOrderField) o; 054 return Objects.equals(by, casted.by) && Objects.equals(direction, casted.direction); 055 } 056 057 @Override 058 public int hashCode() { 059 return Objects.hash(by, direction); 060 } 061 062 @Override 063 public String toString() { 064 return "DevicePinnersOrderField{" 065 + "by='" 066 + by 067 + '\'' 068 + ", " 069 + "direction='" 070 + direction 071 + '\'' 072 + "}"; 073 } 074 075 public static class Builder extends NullableFieldTracker { 076 077 protected EnumWrapper<DevicePinnersOrderByField> by; 078 079 protected EnumWrapper<DevicePinnersOrderDirectionField> direction; 080 081 public Builder by(DevicePinnersOrderByField by) { 082 this.by = new EnumWrapper<DevicePinnersOrderByField>(by); 083 return this; 084 } 085 086 public Builder by(EnumWrapper<DevicePinnersOrderByField> by) { 087 this.by = by; 088 return this; 089 } 090 091 public Builder direction(DevicePinnersOrderDirectionField direction) { 092 this.direction = new EnumWrapper<DevicePinnersOrderDirectionField>(direction); 093 return this; 094 } 095 096 public Builder direction(EnumWrapper<DevicePinnersOrderDirectionField> direction) { 097 this.direction = direction; 098 return this; 099 } 100 101 public DevicePinnersOrderField build() { 102 return new DevicePinnersOrderField(this); 103 } 104 } 105}