package com.github.mustachejava.codes;

import com.github.mustachejava.Code;
import com.github.mustachejava.DefaultMustacheFactory;
import com.github.mustachejava.Mustache;
import com.github.mustachejava.TemplateContext;
import com.github.mustachejava.util.InternalArrayList;
import com.github.mustachejava.util.Node;
import java.io.Writer;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;

/* JADX INFO: loaded from: classes.dex */
public class DefaultMustache extends DefaultCode implements Mustache {
    private Code[] codes;
    private boolean inited;
    private boolean isRecursive;

    public DefaultMustache(TemplateContext templateContext, DefaultMustacheFactory defaultMustacheFactory, Code[] codeArr, String str) {
        super(templateContext, defaultMustacheFactory, null, str, null);
        this.inited = false;
        this.isRecursive = false;
        setCodes(codeArr);
    }

    @Override // com.github.mustachejava.codes.DefaultCode, com.github.mustachejava.Code
    public Code[] getCodes() {
        return this.codes;
    }

    @Override // com.github.mustachejava.codes.DefaultCode, com.github.mustachejava.Mustache
    public Writer run(Writer writer, List<Object> list) {
        Code[] codeArr = this.codes;
        if (codeArr != null) {
            for (Code code : codeArr) {
                writer = code.execute(writer, list);
            }
        }
        return writer;
    }

    @Override // com.github.mustachejava.Mustache
    public Node invert(String str) {
        return invert(new Node(), str, new AtomicInteger(0));
    }

    @Override // com.github.mustachejava.codes.DefaultCode, com.github.mustachejava.Code
    public void setCodes(Code[] codeArr) {
        this.codes = codeArr;
    }

    @Override // com.github.mustachejava.codes.DefaultCode, com.github.mustachejava.Code
    public Writer execute(Writer writer, List<Object> list) {
        if (!(list instanceof InternalArrayList)) {
            list = new InternalArrayList(list);
        }
        return super.execute(writer, list);
    }

    @Override // com.github.mustachejava.codes.DefaultCode, com.github.mustachejava.Code
    public void identity(Writer writer) {
        runIdentity(writer);
    }

    @Override // com.github.mustachejava.codes.DefaultCode, com.github.mustachejava.Code
    public synchronized void init() {
        if (!this.inited) {
            this.inited = true;
            super.init();
        }
    }

    public boolean isRecursive() {
        return this.isRecursive;
    }

    public void setRecursive() {
        this.isRecursive = true;
    }
}
