/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 */

package com.microsoft.azure.cognitiveservices.vision.computervision.models;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * An object describing whether the image contains adult-oriented content
 * and/or is racy.
 */
public class AdultInfo {
    /**
     * A value indicating if the image contains adult-oriented content.
     */
    @JsonProperty(value = "isAdultContent")
    private boolean isAdultContent;

    /**
     * A value indicating if the image is racy.
     */
    @JsonProperty(value = "isRacyContent")
    private boolean isRacyContent;

    /**
     * A value indicating if the image is gory.
     */
    @JsonProperty(value = "isGoryContent")
    private boolean isGoryContent;

    /**
     * Score from 0 to 1 that indicates how much the content is considered
     * adult-oriented within the image.
     */
    @JsonProperty(value = "adultScore")
    private double adultScore;

    /**
     * Score from 0 to 1 that indicates how suggestive is the image.
     */
    @JsonProperty(value = "racyScore")
    private double racyScore;

    /**
     * Score from 0 to 1 that indicates how gory is the image.
     */
    @JsonProperty(value = "goreScore")
    private double goreScore;

    /**
     * Get the isAdultContent value.
     *
     * @return the isAdultContent value
     */
    public boolean isAdultContent() {
        return this.isAdultContent;
    }

    /**
     * Set the isAdultContent value.
     *
     * @param isAdultContent the isAdultContent value to set
     * @return the AdultInfo object itself.
     */
    public AdultInfo withIsAdultContent(boolean isAdultContent) {
        this.isAdultContent = isAdultContent;
        return this;
    }

    /**
     * Get the isRacyContent value.
     *
     * @return the isRacyContent value
     */
    public boolean isRacyContent() {
        return this.isRacyContent;
    }

    /**
     * Set the isRacyContent value.
     *
     * @param isRacyContent the isRacyContent value to set
     * @return the AdultInfo object itself.
     */
    public AdultInfo withIsRacyContent(boolean isRacyContent) {
        this.isRacyContent = isRacyContent;
        return this;
    }

    /**
     * Get the isGoryContent value.
     *
     * @return the isGoryContent value
     */
    public boolean isGoryContent() {
        return this.isGoryContent;
    }

    /**
     * Set the isGoryContent value.
     *
     * @param isGoryContent the isGoryContent value to set
     * @return the AdultInfo object itself.
     */
    public AdultInfo withIsGoryContent(boolean isGoryContent) {
        this.isGoryContent = isGoryContent;
        return this;
    }

    /**
     * Get the adultScore value.
     *
     * @return the adultScore value
     */
    public double adultScore() {
        return this.adultScore;
    }

    /**
     * Set the adultScore value.
     *
     * @param adultScore the adultScore value to set
     * @return the AdultInfo object itself.
     */
    public AdultInfo withAdultScore(double adultScore) {
        this.adultScore = adultScore;
        return this;
    }

    /**
     * Get the racyScore value.
     *
     * @return the racyScore value
     */
    public double racyScore() {
        return this.racyScore;
    }

    /**
     * Set the racyScore value.
     *
     * @param racyScore the racyScore value to set
     * @return the AdultInfo object itself.
     */
    public AdultInfo withRacyScore(double racyScore) {
        this.racyScore = racyScore;
        return this;
    }

    /**
     * Get the goreScore value.
     *
     * @return the goreScore value
     */
    public double goreScore() {
        return this.goreScore;
    }

    /**
     * Set the goreScore value.
     *
     * @param goreScore the goreScore value to set
     * @return the AdultInfo object itself.
     */
    public AdultInfo withGoreScore(double goreScore) {
        this.goreScore = goreScore;
        return this;
    }

}
