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

package com.hypixel.hytale.server.npc.util;

import javax.annotation.Nonnull;
import java.util.Iterator;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import java.util.List;

public class ComponentInfo
{
    private final String name;
    private final int index;
    private final int nestingDepth;
    private final List<String> fields;
    
    public ComponentInfo(final String name, final int index, final int nestingDepth) {
        this.fields = new ObjectArrayList<String>();
        this.name = name;
        this.index = index;
        this.nestingDepth = nestingDepth;
    }
    
    public void addField(final String field) {
        this.fields.add(field);
    }
    
    @Nonnull
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder(" ".repeat(this.nestingDepth));
        if (this.index > -1) {
            sb.append("[").append(this.index).append("] ");
        }
        sb.append(this.name);
        final String fieldIndent = " ".repeat(this.nestingDepth + 1);
        for (final String field : this.fields) {
            sb.append('\n').append(fieldIndent).append(field);
        }
        return sb.toString();
    }
    
    public String getName() {
        return this.name;
    }
    
    public int getIndex() {
        return this.index;
    }
    
    @Nonnull
    public List<String> getFields() {
        return this.fields;
    }
}
