All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.mustachejava.Code Maven / Gradle / Ivy

There is a newer version: 0.9.14
Show newest version
package com.github.mustachejava;

import com.github.mustachejava.util.Node;

import java.io.Writer;
import java.util.List;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;

/**
 * Code objects that are executed in order to evaluate the template
 */
public interface Code {
  Writer execute(Writer writer, List scopes);

  void identity(Writer writer);

  void append(String text);

  Code[] getCodes();

  void setCodes(Code[] codes);

  void init();

  @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
  Object clone();

  Object clone(Set seen);

  String getName();

  Node invert(Node node, String text, AtomicInteger position);
}