// Generated by delombok at Tue Dec 16 19:36:13 UTC 2025
package net.md_5.bungee.module;

import java.io.File;

public class ModuleSpec {
    private final String name;
    private final File file;
    private final ModuleSource provider;

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public ModuleSpec(final String name, final File file, final ModuleSource provider) {
        this.name = name;
        this.file = file;
        this.provider = provider;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getName() {
        return this.name;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public File getFile() {
        return this.file;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public ModuleSource getProvider() {
        return this.provider;
    }

    @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 ModuleSpec)) return false;
        final ModuleSpec other = (ModuleSpec) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        final java.lang.Object this$name = this.getName();
        final java.lang.Object other$name = other.getName();
        if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
        final java.lang.Object this$file = this.getFile();
        final java.lang.Object other$file = other.getFile();
        if (this$file == null ? other$file != null : !this$file.equals(other$file)) return false;
        final java.lang.Object this$provider = this.getProvider();
        final java.lang.Object other$provider = other.getProvider();
        if (this$provider == null ? other$provider != null : !this$provider.equals(other$provider)) return false;
        return true;
    }

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

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

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public java.lang.String toString() {
        return "ModuleSpec(name=" + this.getName() + ", file=" + this.getFile() + ", provider=" + this.getProvider() + ")";
    }
}
