001package com.box.sdkgen.schemas.itemsoffsetpaginated; 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 ItemsOffsetPaginatedOrderField extends SerializableObject { 013 014 /** The field to order by. */ 015 protected String by; 016 017 /** The direction to order by, either ascending or descending. */ 018 @JsonDeserialize( 019 using = 020 ItemsOffsetPaginatedOrderDirectionField 021 .ItemsOffsetPaginatedOrderDirectionFieldDeserializer.class) 022 @JsonSerialize( 023 using = 024 ItemsOffsetPaginatedOrderDirectionField.ItemsOffsetPaginatedOrderDirectionFieldSerializer 025 .class) 026 protected EnumWrapper<ItemsOffsetPaginatedOrderDirectionField> direction; 027 028 public ItemsOffsetPaginatedOrderField() { 029 super(); 030 } 031 032 protected ItemsOffsetPaginatedOrderField(Builder builder) { 033 super(); 034 this.by = builder.by; 035 this.direction = builder.direction; 036 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 037 } 038 039 public String getBy() { 040 return by; 041 } 042 043 public EnumWrapper<ItemsOffsetPaginatedOrderDirectionField> getDirection() { 044 return direction; 045 } 046 047 @Override 048 public boolean equals(Object o) { 049 if (this == o) { 050 return true; 051 } 052 if (o == null || getClass() != o.getClass()) { 053 return false; 054 } 055 ItemsOffsetPaginatedOrderField casted = (ItemsOffsetPaginatedOrderField) o; 056 return Objects.equals(by, casted.by) && Objects.equals(direction, casted.direction); 057 } 058 059 @Override 060 public int hashCode() { 061 return Objects.hash(by, direction); 062 } 063 064 @Override 065 public String toString() { 066 return "ItemsOffsetPaginatedOrderField{" 067 + "by='" 068 + by 069 + '\'' 070 + ", " 071 + "direction='" 072 + direction 073 + '\'' 074 + "}"; 075 } 076 077 public static class Builder extends NullableFieldTracker { 078 079 protected String by; 080 081 protected EnumWrapper<ItemsOffsetPaginatedOrderDirectionField> direction; 082 083 public Builder by(String by) { 084 this.by = by; 085 return this; 086 } 087 088 public Builder direction(ItemsOffsetPaginatedOrderDirectionField direction) { 089 this.direction = new EnumWrapper<ItemsOffsetPaginatedOrderDirectionField>(direction); 090 return this; 091 } 092 093 public Builder direction(EnumWrapper<ItemsOffsetPaginatedOrderDirectionField> direction) { 094 this.direction = direction; 095 return this; 096 } 097 098 public ItemsOffsetPaginatedOrderField build() { 099 return new ItemsOffsetPaginatedOrderField(this); 100 } 101 } 102}