001package com.box.sdkgen.managers.metadatacascadepolicies;
002
003import com.box.sdkgen.internal.SerializableObject;
004import com.box.sdkgen.serialization.json.EnumWrapper;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
008import com.fasterxml.jackson.databind.annotation.JsonSerialize;
009import java.util.Objects;
010
011@JsonFilter("nullablePropertyFilter")
012public class ApplyMetadataCascadePolicyRequestBody extends SerializableObject {
013
014  /**
015   * Describes the desired behavior when dealing with the conflict where a metadata template already
016   * has an instance applied to a child.
017   *
018   * <p>* `none` will preserve the existing value on the file * `overwrite` will force-apply the
019   * templates values over any existing values.
020   */
021  @JsonDeserialize(
022      using =
023          ApplyMetadataCascadePolicyRequestBodyConflictResolutionField
024              .ApplyMetadataCascadePolicyRequestBodyConflictResolutionFieldDeserializer.class)
025  @JsonSerialize(
026      using =
027          ApplyMetadataCascadePolicyRequestBodyConflictResolutionField
028              .ApplyMetadataCascadePolicyRequestBodyConflictResolutionFieldSerializer.class)
029  @JsonProperty("conflict_resolution")
030  protected final EnumWrapper<ApplyMetadataCascadePolicyRequestBodyConflictResolutionField>
031      conflictResolution;
032
033  public ApplyMetadataCascadePolicyRequestBody(
034      ApplyMetadataCascadePolicyRequestBodyConflictResolutionField conflictResolution) {
035    super();
036    this.conflictResolution =
037        new EnumWrapper<ApplyMetadataCascadePolicyRequestBodyConflictResolutionField>(
038            conflictResolution);
039  }
040
041  public ApplyMetadataCascadePolicyRequestBody(
042      @JsonProperty("conflict_resolution")
043          EnumWrapper<ApplyMetadataCascadePolicyRequestBodyConflictResolutionField>
044              conflictResolution) {
045    super();
046    this.conflictResolution = conflictResolution;
047  }
048
049  public EnumWrapper<ApplyMetadataCascadePolicyRequestBodyConflictResolutionField>
050      getConflictResolution() {
051    return conflictResolution;
052  }
053
054  @Override
055  public boolean equals(Object o) {
056    if (this == o) {
057      return true;
058    }
059    if (o == null || getClass() != o.getClass()) {
060      return false;
061    }
062    ApplyMetadataCascadePolicyRequestBody casted = (ApplyMetadataCascadePolicyRequestBody) o;
063    return Objects.equals(conflictResolution, casted.conflictResolution);
064  }
065
066  @Override
067  public int hashCode() {
068    return Objects.hash(conflictResolution);
069  }
070
071  @Override
072  public String toString() {
073    return "ApplyMetadataCascadePolicyRequestBody{"
074        + "conflictResolution='"
075        + conflictResolution
076        + '\''
077        + "}";
078  }
079}