All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.squidex.api.resources.apps.requests.AddLanguageDto Maven / Gradle / Ivy

package com.squidex.api.resources.apps.requests;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.Objects;

@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonDeserialize(builder = AddLanguageDto.Builder.class)
public final class AddLanguageDto {
    private final String language;

    private AddLanguageDto(String language) {
        this.language = language;
    }

    /**
     * @return The language to add. <span style="white-space: nowrap">non-empty</span>
     */
    @JsonProperty("language")
    public String getLanguage() {
        return language;
    }

    @Override
    public boolean equals(Object other) {
        if (this == other) return true;
        return other instanceof AddLanguageDto && equalTo((AddLanguageDto) other);
    }

    private boolean equalTo(AddLanguageDto other) {
        return language.equals(other.language);
    }

    @Override
    public int hashCode() {
        return Objects.hash(this.language);
    }

    @Override
    public String toString() {
        return "AddLanguageDto{" + "language: " + language + "}";
    }

    public static LanguageStage builder() {
        return new Builder();
    }

    public interface LanguageStage {
        _FinalStage language(String language);

        Builder from(AddLanguageDto other);
    }

    public interface _FinalStage {
        AddLanguageDto build();
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    public static final class Builder implements LanguageStage, _FinalStage {
        private String language;

        private Builder() {}

        @Override
        public Builder from(AddLanguageDto other) {
            language(other.getLanguage());
            return this;
        }

        /**
         * 

The language to add. <span style="white-space: nowrap">non-empty</span>

* @return Reference to {@code this} so that method calls can be chained together. */ @Override @JsonSetter("language") public _FinalStage language(String language) { this.language = language; return this; } @Override public AddLanguageDto build() { return new AddLanguageDto(language); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy