// Generated by delombok at Tue Dec 16 19:34:32 UTC 2025
package net.md_5.bungee.api.dialog.body;

import lombok.NonNull;
import org.jetbrains.annotations.ApiStatus;

/**
 * Represents the body content of a {@link net.md_5.bungee.api.dialog.Dialog}.
 */
public abstract class DialogBody {
    /**
     * The internal body type.
     */
    @NonNull
    @ApiStatus.Internal
    private final String type;

    /**
     * Creates a new {@code DialogBody} instance.
     *
     * @param type The internal body type.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public DialogBody(@NonNull final String type) {
        if (type == null) {
            throw new java.lang.NullPointerException("type is marked non-null but is null");
        }
        this.type = type;
    }

    /**
     * The internal body type.
     */
    @NonNull
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getType() {
        return this.type;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public boolean equals(final java.lang.Object o) {
        if (o == this) return true;
        if (!(o instanceof DialogBody)) return false;
        final DialogBody other = (DialogBody) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        final java.lang.Object this$type = this.getType();
        final java.lang.Object other$type = other.getType();
        if (this$type == null ? other$type != null : !this$type.equals(other$type)) return false;
        return true;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected boolean canEqual(final java.lang.Object other) {
        return other instanceof DialogBody;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final java.lang.Object $type = this.getType();
        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
        return result;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public java.lang.String toString() {
        return "DialogBody(type=" + this.getType() + ")";
    }
}
