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

package com.hypixel.hytale.assetstore;

import com.hypixel.hytale.codec.schema.config.Schema;
import com.hypixel.hytale.codec.schema.SchemaContext;
import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.validation.ValidationResults;
import java.util.function.Supplier;
import com.hypixel.hytale.codec.validation.Validator;

public class AssetKeyValidator<K> implements Validator<K>
{
    private final Supplier<AssetStore<K, ?, ?>> store;
    
    public AssetKeyValidator(final Supplier<AssetStore<K, ?, ?>> store) {
        this.store = store;
    }
    
    public AssetStore<K, ?, ?> getStore() {
        return this.store.get();
    }
    
    @Override
    public void accept(final K k, @Nonnull final ValidationResults results) {
        this.store.get().validate((Object)k, results, results.getExtraInfo());
    }
    
    @Override
    public void updateSchema(final SchemaContext context, @Nonnull final Schema target) {
        target.setHytaleAssetRef(this.store.get().getAssetClass().getSimpleName());
    }
}
