⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scriptletcode.java

📁 iReport-0.4.1-src是iReport的源代码,iReport是一个开源的报表项目,可以生成PDF等格式报表
💻 JAVA
字号:
/* * ScriptletCode.java * * Created on 11 marzo 2004, 18.03 */package it.businesslogic.ireport;import it.businesslogic.ireport.util.*;import java.util.*;import java.io.*;/** * * @author  Administrator * */public class ScriptletCode {       public static final int GLOBAL_DECLARATIONS = 0;    public static final int EVENT_AFTER_COLUMN_INIT = 1;    public static final int EVENT_AFTER_DETAIL_EVAL = 2;    public static final int EVENT_AFTER_GROUP_INIT = 3;    public static final int EVENT_AFTER_PAGE_INIT = 4;    public static final int EVENT_AFTER_REPORT_INIT = 5;    public static final int EVENT_BEFORE_COLUMN_INIT = 6;    public static final int EVENT_BEFORE_DETAIL_EVAL = 7;    public static final int EVENT_BEFORE_GROUP_INIT = 8;    public static final int EVENT_BEFORE_PAGE_INIT = 9;    public static final int EVENT_BEFORE_REPORT_INIT = 10;        public static final int LAST_PORTION = 10;    public String[] portion_keywords = null;        /** all code protions */    protected HashMap code_portions;        /** Creates a new instance of ScriptletCode */    public ScriptletCode() {            code_portions = new HashMap();           portion_keywords = new String[LAST_PORTION+1];                portion_keywords[GLOBAL_DECLARATIONS]     = "GLOBAL_DECLARATIONS";        portion_keywords[EVENT_AFTER_COLUMN_INIT] = "EVENT_AFTER_COLUMN_INIT";        portion_keywords[EVENT_AFTER_DETAIL_EVAL] = "EVENT_AFTER_DETAIL_EVAL";        portion_keywords[EVENT_AFTER_GROUP_INIT]  = "EVENT_AFTER_GROUP_INIT";        portion_keywords[EVENT_AFTER_PAGE_INIT]   = "EVENT_AFTER_PAGE_INIT";        portion_keywords[EVENT_AFTER_REPORT_INIT] = "EVENT_AFTER_REPORT_INIT";        portion_keywords[EVENT_BEFORE_COLUMN_INIT]= "EVENT_BEFORE_COLUMN_INIT";        portion_keywords[EVENT_BEFORE_DETAIL_EVAL]= "EVENT_BEFORE_DETAIL_EVAL";        portion_keywords[EVENT_BEFORE_GROUP_INIT] = "EVENT_BEFORE_GROUP_INIT";        portion_keywords[EVENT_BEFORE_PAGE_INIT]  = "EVENT_BEFORE_PAGE_INIT";        portion_keywords[EVENT_BEFORE_REPORT_INIT]= "EVENT_BEFORE_REPORT_INIT";                 }          /**     *  Return the requested portion of class     */    public String getPortion(int portion)    {        if (code_portions.get(""+portion) == null)        {            return "";        }                return (String)code_portions.get(""+portion);      }        /**     *  Return the requested portion of class     */    public void setPortionCode(int portion, String code)    {        code_portions.put(""+portion, code);    }        /**     *       */    public StringBuffer getAll()    {        StringBuffer s = new StringBuffer();                String global_portion =  getPortion( GLOBAL_DECLARATIONS).trim();                int i = global_portion.lastIndexOf("}");        global_portion = global_portion.substring(0,i) + global_portion.substring(i+1);                        s.append( global_portion );        s.append("\n");        for ( int k=1; k<  LAST_PORTION+1 ; ++k)        {            s.append( "/** Begin " + portion_keywords[k] + " This line is generated by iReport. Don't modify or move please! */\n" );            s.append( getPortion(k) );            s.append( "/** End " + portion_keywords[k] + " This line is generated by iReport. Don't modify or move please! */\n" );        }                s.append("\n}");                return s;    }            /** Load the scriptlet from a file... */    public ScriptletCode(String filename) throws FileNotFoundException, IOException     {        this( new FileReader(filename) );    }            /** Load the scriptlet from a file... */    public ScriptletCode(java.io.InputStream is) throws  IOException     {        this( new InputStreamReader(is) );    }        public ScriptletCode(Reader in) throws IOException     {                   this();        LineNumberReader lin = new LineNumberReader(in);        String line = "";                int actualPortion = GLOBAL_DECLARATIONS;                while ( (line = lin.readLine()) != null)        {            if ( line.trim().startsWith("/** Begin EVENT_AFTER_COLUMN_INIT"))            {                actualPortion = EVENT_AFTER_COLUMN_INIT;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_AFTER_DETAIL_EVAL"))            {                actualPortion = EVENT_AFTER_DETAIL_EVAL;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_AFTER_GROUP_INIT"))            {                actualPortion = EVENT_AFTER_GROUP_INIT;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_AFTER_PAGE_INIT"))            {                actualPortion = EVENT_AFTER_PAGE_INIT;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_AFTER_REPORT_INIT"))            {                actualPortion = EVENT_AFTER_REPORT_INIT;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_BEFORE_COLUMN_INIT"))            {                actualPortion = EVENT_BEFORE_COLUMN_INIT;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_BEFORE_DETAIL_EVAL"))            {                actualPortion = EVENT_BEFORE_DETAIL_EVAL;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_BEFORE_GROUP_INIT"))            {                actualPortion = EVENT_BEFORE_GROUP_INIT;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_BEFORE_PAGE_INIT"))            {                actualPortion = EVENT_BEFORE_PAGE_INIT;                continue;            }            else if ( line.trim().startsWith("/** Begin EVENT_BEFORE_REPORT_INIT"))            {                actualPortion = EVENT_BEFORE_REPORT_INIT;                continue;            }            else if ( line.trim().startsWith("/** End EVENT_"))            {                actualPortion = GLOBAL_DECLARATIONS;                continue;            }                        append(line, actualPortion);        }    }          /** Append a line to the specified code portion */    public void append(String line, int portion)    {        String str = Misc.nvl( this.code_portions.get(""+portion),"");         str += line + "\n";           this.code_portions.put(""+portion,str);             }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -