package com.hypixel.hytale.codec.validation.validator; import com.hypixel.hytale.codec.schema.SchemaContext; import com.hypixel.hytale.codec.schema.config.ArraySchema; import com.hypixel.hytale.codec.schema.config.Schema; import com.hypixel.hytale.codec.validation.LegacyValidator; import com.hypixel.hytale.codec.validation.ValidationResults; import com.hypixel.hytale.codec.validation.Validator; import javax.annotation.Nullable; public class ArrayValidator implements Validator { private Validator validator; public ArrayValidator(Validator validator) { this.validator = validator; } @Deprecated(forRemoval = true) public ArrayValidator(LegacyValidator validator) { this.validator = validator; } public Validator getValidator() { return this.validator; } public void accept(@Nullable T[] ts, ValidationResults results) { if (ts != null) { for (T t : ts) { this.validator.accept(t, results); } } } @Override public void updateSchema(SchemaContext context, Schema target) { if (!(target instanceof ArraySchema)) { throw new IllegalArgumentException(); } else { Schema item = (Schema)((ArraySchema)target).getItems(); this.validator.updateSchema(context, item); } } }