34 lines
1.1 KiB
Java
34 lines
1.1 KiB
Java
package com.hypixel.hytale.codec.validation;
|
|
|
|
import com.hypixel.hytale.codec.ExtraInfo;
|
|
import com.hypixel.hytale.codec.exception.CodecValidationException;
|
|
import com.hypixel.hytale.logger.HytaleLogger;
|
|
import java.util.logging.Level;
|
|
import javax.annotation.Nonnull;
|
|
|
|
public class ThrowingValidationResults extends ValidationResults {
|
|
public ThrowingValidationResults(ExtraInfo extraInfo) {
|
|
super(extraInfo);
|
|
}
|
|
|
|
@Override
|
|
public void add(@Nonnull ValidationResults.ValidationResult result) {
|
|
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");
|
|
boolean failed = result.appendResult(sb);
|
|
if (failed) {
|
|
throw new CodecValidationException(sb.toString());
|
|
} else {
|
|
HytaleLogger.getLogger().at(Level.WARNING).log(sb.toString());
|
|
}
|
|
}
|
|
|
|
@Nonnull
|
|
@Override
|
|
public String toString() {
|
|
return "ThrowingValidationResults{} " + super.toString();
|
|
}
|
|
}
|