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

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

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public class ArraysOneSetValidator extends Validator
{
    private final String[] attributes;
    
    private ArraysOneSetValidator(final String[] attributes) {
        this.attributes = attributes;
    }
    
    public static boolean validate(final String[] value1, final String[] value2) {
        return arrayContainsNonEmptyString(value1) || arrayContainsNonEmptyString(value2);
    }
    
    private static boolean arrayContainsNonEmptyString(@Nullable final String[] array) {
        if (array != null) {
            for (final String value : array) {
                if (value != null && !value.isEmpty()) {
                    return true;
                }
            }
        }
        return false;
    }
    
    @Nonnull
    public static String formatErrorMessage(final String attr1, final String attr2, final String context) {
        return String.format("%s or %s must be provided in %s!", attr1, attr2, context);
    }
    
    @Nonnull
    public static ArraysOneSetValidator withAttributes(final String attribute1, final String attribute2) {
        return new ArraysOneSetValidator(new String[] { attribute1, attribute2 });
    }
    
    @Nonnull
    public static ArraysOneSetValidator withAttributes(final String[] attributes) {
        return new ArraysOneSetValidator(attributes);
    }
}
