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

package com.hypixel.hytale.codec.validation.validator;

import com.hypixel.hytale.codec.schema.config.StringSchema;
import com.hypixel.hytale.codec.schema.config.Schema;
import com.hypixel.hytale.codec.schema.SchemaContext;
import com.hypixel.hytale.codec.validation.ValidationResults;
import javax.annotation.Nonnull;
import java.util.regex.Pattern;
import com.hypixel.hytale.codec.validation.Validator;

public class NonEmptyStringValidator implements Validator<String>
{
    public static final NonEmptyStringValidator INSTANCE;
    private static final Pattern NON_WHITESPACE_PATTERN;
    
    protected NonEmptyStringValidator() {
    }
    
    @Override
    public void accept(@Nonnull final String string, @Nonnull final ValidationResults results) {
        if (string.isBlank()) {
            results.fail("String can't be empty!");
        }
    }
    
    @Override
    public void updateSchema(final SchemaContext context, final Schema target) {
        final StringSchema s = (StringSchema)target;
        s.setMinLength(1);
        s.setPattern(NonEmptyStringValidator.NON_WHITESPACE_PATTERN);
    }
    
    static {
        INSTANCE = new NonEmptyStringValidator();
        NON_WHITESPACE_PATTERN = Pattern.compile("[^\\s]");
    }
}
