001    package railo.transformer.bytecode;
002    
003    import railo.runtime.exp.TemplateException;
004    
005    
006    
007    /**
008     * A single Statement
009     */
010    public interface Statement {
011            
012        /**
013         * sets parent statement to statement
014         * @param parent
015         */
016        public void setParent(Statement parent);
017    
018        public boolean hasFlowController();
019        public void setHasFlowController(boolean has);
020        
021        /**
022         * @return returns the parent statement
023         */
024        public Statement getParent();
025        
026        /**
027         * write out the stament to adapter
028         * @param adapter
029         * @throws TemplateException
030         */
031        public void writeOut(BytecodeContext bc) throws BytecodeException;    
032    
033        /**
034         * Returns the value of line.
035         * @return value line
036         */
037        public int getLine();
038    }