001package com.box.sdkgen.schemas.uploadurl; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.fasterxml.jackson.annotation.JsonFilter; 006import com.fasterxml.jackson.annotation.JsonProperty; 007import java.util.Objects; 008 009/** The details for the upload session for the file. */ 010@JsonFilter("nullablePropertyFilter") 011public class UploadUrl extends SerializableObject { 012 013 /** A URL for an upload session that can be used to upload the file. */ 014 @JsonProperty("upload_url") 015 protected String uploadUrl; 016 017 /** An optional access token to use to upload the file. */ 018 @JsonProperty("upload_token") 019 protected String uploadToken; 020 021 public UploadUrl() { 022 super(); 023 } 024 025 protected UploadUrl(Builder builder) { 026 super(); 027 this.uploadUrl = builder.uploadUrl; 028 this.uploadToken = builder.uploadToken; 029 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 030 } 031 032 public String getUploadUrl() { 033 return uploadUrl; 034 } 035 036 public String getUploadToken() { 037 return uploadToken; 038 } 039 040 @Override 041 public boolean equals(Object o) { 042 if (this == o) { 043 return true; 044 } 045 if (o == null || getClass() != o.getClass()) { 046 return false; 047 } 048 UploadUrl casted = (UploadUrl) o; 049 return Objects.equals(uploadUrl, casted.uploadUrl) 050 && Objects.equals(uploadToken, casted.uploadToken); 051 } 052 053 @Override 054 public int hashCode() { 055 return Objects.hash(uploadUrl, uploadToken); 056 } 057 058 @Override 059 public String toString() { 060 return "UploadUrl{" 061 + "uploadUrl='" 062 + uploadUrl 063 + '\'' 064 + ", " 065 + "uploadToken='" 066 + uploadToken 067 + '\'' 068 + "}"; 069 } 070 071 public static class Builder extends NullableFieldTracker { 072 073 protected String uploadUrl; 074 075 protected String uploadToken; 076 077 public Builder uploadUrl(String uploadUrl) { 078 this.uploadUrl = uploadUrl; 079 return this; 080 } 081 082 public Builder uploadToken(String uploadToken) { 083 this.uploadToken = uploadToken; 084 return this; 085 } 086 087 public UploadUrl build() { 088 return new UploadUrl(this); 089 } 090 } 091}