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

package com.hypixel.hytale.codec.validation;

import java.util.logging.Level;
import com.hypixel.hytale.logger.HytaleLogger;
import com.hypixel.hytale.codec.exception.CodecValidationException;
import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.ExtraInfo;

public class ThrowingValidationResults extends ValidationResults
{
    public ThrowingValidationResults(final ExtraInfo extraInfo) {
        super(extraInfo);
    }
    
    @Override
    public void add(@Nonnull final ValidationResult result) {
        final StringBuilder sb = new StringBuilder("Failed to validate asset!\n");
        this.extraInfo.appendDetailsTo(sb);
        sb.append("Key: ").append(this.extraInfo.peekKey()).append("\n");
        sb.append("Results:\n");
        final boolean failed = result.appendResult(sb);
        if (failed) {
            throw new CodecValidationException(sb.toString());
        }
        HytaleLogger.getLogger().at(Level.WARNING).log(sb.toString());
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "ThrowingValidationResults{} " + super.toString();
    }
}
