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 List getStatements();
023    
024            /**
025             * move all statements to target body
026             * @param trg
027             */
028            public abstract void moveStatmentsTo(Body trg);
029    
030            /**
031             * returns if body has content or not
032             * @return is empty
033             */
034            public abstract boolean isEmpty();
035            
036            public void addPrintOut(String str, int line);
037    
038            public void remove(Statement stat);
039    
040    }