package com.github.mustachejava.util;

import com.github.mustachejava.DefaultMustacheFactory;
import com.github.mustachejava.DefaultMustacheVisitor;
import com.github.mustachejava.Mustache;
import com.github.mustachejava.TemplateContext;
import com.github.mustachejava.codes.IterableCode;
import com.github.mustachejava.codes.NotIterableCode;
import com.github.mustachejava.codes.ValueCode;
import java.io.Writer;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
public class CapturingMustacheVisitor extends DefaultMustacheVisitor {
    private final Captured captured;

    public interface Captured {
        void arrayEnd();

        void arrayStart(String str);

        void objectEnd();

        void objectStart();

        void value(String str, String str2);
    }

    public CapturingMustacheVisitor(DefaultMustacheFactory defaultMustacheFactory, Captured captured) {
        super(defaultMustacheFactory);
        this.captured = captured;
    }

    @Override // com.github.mustachejava.DefaultMustacheVisitor, com.github.mustachejava.MustacheVisitor
    public void value(TemplateContext templateContext, String str, boolean z) {
        this.list.add(new ValueCode(templateContext, this.df, str, z) { // from class: com.github.mustachejava.util.CapturingMustacheVisitor.1
            @Override // com.github.mustachejava.codes.DefaultCode
            public Object get(List<Object> list) {
                Object obj = super.get(list);
                if (obj != null) {
                    CapturingMustacheVisitor.this.captured.value(this.name, obj.toString());
                }
                return obj;
            }
        });
    }

    @Override // com.github.mustachejava.DefaultMustacheVisitor, com.github.mustachejava.MustacheVisitor
    public void iterable(TemplateContext templateContext, String str, Mustache mustache) {
        this.list.add(new IterableCode(templateContext, this.df, mustache, str) { // from class: com.github.mustachejava.util.CapturingMustacheVisitor.2
            @Override // com.github.mustachejava.codes.IterableCode, com.github.mustachejava.codes.DefaultCode, com.github.mustachejava.Code
            public Writer execute(Writer writer, List<Object> list) {
                Writer writerExecute = super.execute(writer, list);
                CapturingMustacheVisitor.this.captured.arrayEnd();
                return writerExecute;
            }

            @Override // com.github.mustachejava.codes.IterableCode, com.github.mustachejava.Iteration
            public Writer next(Writer writer, Object obj, List<Object> list) {
                CapturingMustacheVisitor.this.captured.objectStart();
                Writer next = super.next(writer, obj, list);
                CapturingMustacheVisitor.this.captured.objectEnd();
                return next;
            }

            @Override // com.github.mustachejava.codes.DefaultCode
            public Object get(List<Object> list) {
                Object obj = super.get(list);
                CapturingMustacheVisitor.this.captured.arrayStart(this.name);
                return obj;
            }
        });
    }

    @Override // com.github.mustachejava.DefaultMustacheVisitor, com.github.mustachejava.MustacheVisitor
    public void notIterable(TemplateContext templateContext, String str, Mustache mustache) {
        this.list.add(new NotIterableCode(templateContext, this.df, mustache, str) { // from class: com.github.mustachejava.util.CapturingMustacheVisitor.3
            boolean called;

            @Override // com.github.mustachejava.codes.NotIterableCode, com.github.mustachejava.codes.IterableCode, com.github.mustachejava.Iteration
            public Writer next(Writer writer, Object obj, List<Object> list) {
                this.called = true;
                return super.next(writer, obj, list);
            }

            @Override // com.github.mustachejava.codes.IterableCode, com.github.mustachejava.codes.DefaultCode, com.github.mustachejava.Code
            public Writer execute(Writer writer, List<Object> list) {
                Writer writerExecute = super.execute(writer, list);
                if (this.called) {
                    CapturingMustacheVisitor.this.captured.arrayStart(this.name);
                    CapturingMustacheVisitor.this.captured.arrayEnd();
                }
                return writerExecute;
            }
        });
    }
}
