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

package com.hypixel.hytale.protocol.io;

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

record ValidationResult(boolean isValid, @Nullable String error) {
    public static final ValidationResult OK;
    
    @Nonnull
    public static ValidationResult error(@Nonnull final String message) {
        return new ValidationResult(false, message);
    }
    
    public void throwIfInvalid() {
        if (!this.isValid) {
            throw new ProtocolException((this.error != null) ? this.error : "Validation failed");
        }
    }
    
    @Nullable
    public String error() {
        return this.error;
    }
    
    static {
        OK = new ValidationResult(true, null);
    }
}
