001 package railo.transformer.bytecode; 002 003 import java.util.List; 004 005 006 /** 007 * Body tag (Statement collector) 008 */ 009 public interface Body extends Statement { 010 011 /** 012 * adds a statement to the Page 013 * @param statement 014 */ 015 public abstract void addFirst(Statement statement); 016 public abstract void addStatement(Statement statement); 017 018 /** 019 * returns all statements 020 * @return the statements 021 */ 022 public abstract boolean hasStatements(); 023 024 public abstract List<Statement> getStatements(); 025 026 /** 027 * move all statements to target body 028 * @param trg 029 */ 030 public abstract void moveStatmentsTo(Body trg); 031 032 /** 033 * returns if body has content or not 034 * @return is empty 035 */ 036 public abstract boolean isEmpty(); 037 038 public void addPrintOut(String str, Position start,Position end); 039 040 public void remove(Statement stat); 041 042 }