Bug 210507 Enhance Report engine to support multiple view
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/ir/EngineIRReader.java
import org.eclipse.birt.report.engine.content.IStyle;
import org.eclipse.birt.report.model.api.DesignElementHandle;
import org.eclipse.birt.report.model.api.ModuleUtil;
import org.eclipse.birt.report.model.api.ReportDesignHandle;
import org.eclipse.birt.report.model.elements.interfaces.IReportItemModel;
import org.eclipse.birt.report.model.parser.DesignSchemaConstants;
/**
 * Read the transfered engine IR designs wrote in EngineIRWriter.
 * The reading sequence of report root:
 *    1. Version. Version id stored in IR, to remember the document changes.
 *    2. Report Version.
 *    *  in version 0 and 1, read:
 *          base path
 *          unit  
 *    4. Styles and rootStyle
 *    5. Master pages.
 *       Read report item designs in master page.
 *    6. Report body
 *       Read report item designs in body.
 * readDesign:
 *    1. Read design type
 *    2. Read report item design according design type.
 *    3. Read the current design's fields.
 *    4. Read the current design's children.
 *    
 * Version 1: remove read isBookmark of ActionDesign.
 * Version 2: remove read base path and unit of report.
 * Version 3: add extended item's children.
 */
public class EngineIRReader implements IOConstants