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

package com.hypixel.hytale.codec;

import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.util.RawJsonReader;
import com.hypixel.hytale.codec.validation.ValidationResults;
import java.util.function.Function;
import com.hypixel.hytale.codec.validation.ThrowingValidationResults;

@Deprecated
public class EmptyExtraInfo extends ExtraInfo
{
    public static final EmptyExtraInfo EMPTY;
    
    private EmptyExtraInfo() {
        super(Integer.MAX_VALUE, (Function<ExtraInfo, ValidationResults>)ThrowingValidationResults::new);
    }
    
    @Override
    public void pushKey(final String key) {
    }
    
    @Override
    public void pushIntKey(final int i) {
    }
    
    @Override
    public void pushKey(final String key, final RawJsonReader reader) {
    }
    
    @Override
    public void pushIntKey(final int key, final RawJsonReader reader) {
    }
    
    @Override
    public void popKey() {
    }
    
    @Override
    public void addUnknownKey(@Nonnull final String key) {
    }
    
    @Override
    public void ignoreUnusedKey(final String key) {
    }
    
    @Override
    public void popIgnoredUnusedKey() {
    }
    
    @Nonnull
    @Override
    public String peekKey() {
        return "<empty>";
    }
    
    @Nonnull
    @Override
    public String peekKey(final char separator) {
        return "<empty>";
    }
    
    @Nonnull
    @Override
    public List<String> getUnknownKeys() {
        return Collections.emptyList();
    }
    
    @Override
    public void appendDetailsTo(@Nonnull final StringBuilder sb) {
        sb.append("EmptyExtraInfo\n");
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "EmptyExtraInfo{} " + super.toString();
    }
    
    static {
        EMPTY = new EmptyExtraInfo();
    }
}
