/*
 * Created on 2003/06/14
 *
 * To change the template for this generated file go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
package jp.sourceforge.projects.ee2e.core.cdt.doc;

import java.io.Writer;
import java.io.IOException;
import java.io.BufferedReader;

/**
 * "#if" destoryer.
 * 
 * @author Toshikazu Ando [ ando@park.ruru.ne.jp ]
 */
// package private
interface EE2EDocument {
    /**
     *
     * @param reader input parameter.
     * @return last infomation. "next exists" is true.
     * @throws IOException
     */
    boolean createComposit(BufferedReader reader) throws IOException;
    
    /**
     * 
     * @param target "#if" target
     * @param ifOrElse If target is "#if" is true, "#else" is false. 
     * @throws IOException
     */
    void destoryTarget(String target, boolean ifOrElse);

    /**
     * 
     * @param writer Output paramater.
     * @param flag "continus" is true.
     * @throws IOException
     */
    void getWriter(Writer writer, boolean flag) throws IOException;
    
    /**
     * getDefines
     */
    void getDefines(java.util.Collection collection);
}
