001package com.box.sdkgen.managers.folderlocks; 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@JsonFilter("nullablePropertyFilter") 010public class CreateFolderLockRequestBody extends SerializableObject { 011 012 /** 013 * The operations to lock for the folder. If `locked_operations` is included in the request, both 014 * `move` and `delete` must also be included and both set to `true`. 015 */ 016 @JsonProperty("locked_operations") 017 protected CreateFolderLockRequestBodyLockedOperationsField lockedOperations; 018 019 /** The folder to apply the lock to. */ 020 protected final CreateFolderLockRequestBodyFolderField folder; 021 022 public CreateFolderLockRequestBody( 023 @JsonProperty("folder") CreateFolderLockRequestBodyFolderField folder) { 024 super(); 025 this.folder = folder; 026 } 027 028 protected CreateFolderLockRequestBody(Builder builder) { 029 super(); 030 this.lockedOperations = builder.lockedOperations; 031 this.folder = builder.folder; 032 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 033 } 034 035 public CreateFolderLockRequestBodyLockedOperationsField getLockedOperations() { 036 return lockedOperations; 037 } 038 039 public CreateFolderLockRequestBodyFolderField getFolder() { 040 return folder; 041 } 042 043 @Override 044 public boolean equals(Object o) { 045 if (this == o) { 046 return true; 047 } 048 if (o == null || getClass() != o.getClass()) { 049 return false; 050 } 051 CreateFolderLockRequestBody casted = (CreateFolderLockRequestBody) o; 052 return Objects.equals(lockedOperations, casted.lockedOperations) 053 && Objects.equals(folder, casted.folder); 054 } 055 056 @Override 057 public int hashCode() { 058 return Objects.hash(lockedOperations, folder); 059 } 060 061 @Override 062 public String toString() { 063 return "CreateFolderLockRequestBody{" 064 + "lockedOperations='" 065 + lockedOperations 066 + '\'' 067 + ", " 068 + "folder='" 069 + folder 070 + '\'' 071 + "}"; 072 } 073 074 public static class Builder extends NullableFieldTracker { 075 076 protected CreateFolderLockRequestBodyLockedOperationsField lockedOperations; 077 078 protected final CreateFolderLockRequestBodyFolderField folder; 079 080 public Builder(CreateFolderLockRequestBodyFolderField folder) { 081 super(); 082 this.folder = folder; 083 } 084 085 public Builder lockedOperations( 086 CreateFolderLockRequestBodyLockedOperationsField lockedOperations) { 087 this.lockedOperations = lockedOperations; 088 return this; 089 } 090 091 public CreateFolderLockRequestBody build() { 092 return new CreateFolderLockRequestBody(this); 093 } 094 } 095}