// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.npc.asset.builder.validators;

import com.hypixel.hytale.server.npc.asset.builder.BuilderObjectHelper;
import java.util.Objects;
import javax.annotation.Nonnull;

public class AnyPresentValidator extends Validator
{
    @Nonnull
    private final String[] attributes;
    
    private AnyPresentValidator(@Nonnull final String[] attributes) {
        Objects.requireNonNull(attributes);
        this.attributes = attributes;
    }
    
    public static boolean test(@Nonnull final BuilderObjectHelper<?>[] objects) {
        for (final BuilderObjectHelper<?> object : objects) {
            if (object.isPresent()) {
                return true;
            }
        }
        return false;
    }
    
    @Nonnull
    public static String errorMessage(final String[] attributes) {
        return "At least one of " + String.join(" ", (CharSequence[])attributes) + " must be present";
    }
    
    @Nonnull
    public String errorMessage() {
        return errorMessage(this.attributes);
    }
    
    @Nonnull
    public static AnyPresentValidator withAttributes(final String attribute1, final String attribute2) {
        return new AnyPresentValidator(new String[] { attribute1, attribute2 });
    }
    
    @Nonnull
    public static AnyPresentValidator withAttributes(@Nonnull final String[] attributes) {
        return new AnyPresentValidator(attributes);
    }
}
