Context- 报表运行上下文对象

阅读(4327) 标签: engine, 环境, 上下文, reportdefine,

Context是一个环境类,在这个类里可以获取或者设置数据源、参数值、报表主路径及客户端的Locale等。

 

实例请参考

API实例 / 运算报表 / 计算报表

API实例 / 运算报表 / 展现报表

API实例 / 运算报表 / 输出报表

API实例 / 运算报表 / 插入word

API实例 / 报表组编辑 / 计算报表组中的报表

 

这里需要注意的是在ReportDefine里也可以设置参数值,与在Context里设置区别在于:如果在ReportDefine里设置参数,那么必须对参数进行计算,计算方法是Engine.calcStaticParam(rd,context),还是要通过Context来计算,而在Context里设置参数后,就可以直接用Engine来运算报表。

 

l  构造函数

类名:com.raqsoft.report.usermodel.Context

public Context()  //Context.getInitCtx()为父上下文创建上下文对象

public Context(Context parent)  //创建上下文对象

Parametersparent - 父上下文对象

 

l  可用方法

setInitCtx

  法:    public static void setInitCtx(Context initCtx)

参数说明:    initCtx–根上下文

功能说明:    设根上下文

Returns  :    

调用举例:   

 

getInitCtx

  法:    public static Context getInitCtx()

功能说明:    取根上下文

Returns  :     Context

调用举例:   

 

getMainDir

  法:    public static final java.lang.String getMainDir()

功能说明:    取主路径

Returns  :   java.lang.String 报表主路径,在服务器上一般指raqsoftConfig.xml文件下<Report>里的<home>属性所对应的路径,而在设计器中是指系统-选项-常规-应用资源路径。

调用举例:    String mainDir = context. getMainDir ();

 

setMainDir

  法:    public static final void setMainDir(java.lang.String mainDir)

参数说明:    mainDir–用户要设置的应用资源路径

功能说明:    设主路径

Returns  :    

调用举例:    Context.setMainDir(“D:/temp/reportFiles2”);

 

getParamMap

  法:    public java.util.Map getParamMap(boolean created)

参数说明:    created - true表示若不存在则创建一个新的参数Map, false表示不存在则返回null

功能说明:    取当前上下文对象中的参数Map

Returns  :     当前上下文对象中的参数Map

调用举例:    java.util.Map paramMap = context. getParamMap (true);

 

isParamName

  法:    public boolean isParamName(java.lang.String paramName)

参数说明:    paramName - 参数名

功能说明:    判断给定字符串是否是参数名称

Returns  :     true或者false

调用举例:    boolean flag = context. isParamName (“arg1”);

 

setParamValue

  法:    public void setParamValue(java.lang.String paramName, java.lang.Object value)

参数说明:   

paramName - 参数名

value – 参数值

功能说明:    设参数值

Returns  :    

调用举例:    context.setParamValue(“endData”,new Data());

 

getDBConfigMap

  法:    public java.util.Map getDBConfigMap(boolean created)

参数说明:    created - true表示若不存在则创建一个新Map, false表示不存在则返回null

功能说明:    取数据库Map

Returns  :     数据库配置Map

调用举例:    java.util.Map dbConfigMap = context. getDBConfigMap (true);

 

getDataSourceConfig

  法:    public DataSourceConfig getDataSourceConfig(java.lang.String dbName)

参数说明:    dbName - 数据库名

功能说明:    按名称取数据库

Returns  :     数据库

调用举例:    DataSourceConfig dsc = context. getDataSourceConfig (“jdbc/test”);

 

setDataSourceConfig

  法:    public void setDataSourceConfig(java.lang.String dbName, DataSourceConfig dataSourceConfig)

参数说明:   

dbName - 数据库名

dataSourceConfig - 数据源配置

功能说明:    按名称设置数据库配置

Returns  :    

调用举例:   

DataSourceConfig dsc = DataSourceConfig();

dsc…….//对数据源配置的相关设置

context. setDataSourceConfig (“jdbc/test”,dsc);

 

getConnectionFactoryMap

  法:    public java.util.Map getConnectionFactoryMap(boolean created)

参数说明:    created - true表示若不存在则创建一个新Map, false表示不存在则返回null

功能说明:    取当前上下文对象中的数据库连接Map

Returns  :     当前上下文对象中的数据库连接Map

调用举例:    java.util.Map connectionMap = context. getConnectionFactoryMap (false);

 

getConnectionFactory

  法:    public IConnectionFactory getConnectionFactory(String dbName)

参数说明:    dbName - 数据库名

功能说明:    从当前上下文中按名称取数据库连接工厂,若无则从父上下文取中

Returns  :     数据库连接工厂

调用举例:    IConnectionFactory iconFactory = context. getConnectionFactory (“jdbc”);

 

setConnectionFactory

  法:    public void setConnectionFactory(java.lang.String dbName, IConnectionFactory cf)

参数说明:   

dbName - 数据库名

cf - 数据库连接工厂

功能说明:    设数据库连接工厂

Returns  :    

调用举例:    

IConnectionFactory iconFactory = new JNDIConnectionFactory(“jdbc/test”);

context. setConnectionFactory (“test”, iconFactory);

 

getDataSet

  法:    public DataSet getDataSet(java.lang.String dsName)

参数说明:    dsName - 数据集名

功能说明:    从当前上下文中按名称取数据集,若无则从父上下文中取,由于父上下文的数据集可以共享,故从父上下文中取得的数据集会复制到本上下文的数据集缓冲池中

Returns  :     返回要取的数据集

调用举例:   DataSet ds = context. getDataSet(“ds1”);

 

setDataSet

  法:    public void setDataSet (String dsName, DataSet ds)

参数说明:    dsName -数据集名

        ds - 数据集

功能说明:    设数据集

Returns  :    

调用举例:    DataSet dataset = getDataSet();//注意,这里的getDataSet由用户实现

context. setDataSet (“ds1”, dataset);

 

setDefDataSourceName

  法:    public void setDefDataSourceName(java.lang.String dataSourceName)

参数说明:    dataSourceName -数据源名

功能说明:    设置数据源名

Returns  :    

调用举例:    context.setDefDataSourceName(“myDataSource”);

 

getConnection

  法:    public java.sql.Connection getConnection(java.lang.String dbName)

参数说明:    dbName -数据库名

功能说明:    从用户数据库连接缓冲池中取数据库连接,若无则从父上下文中取。使用时若未取到,则需使用数据库名相对应的数据库连接工厂取数据库连接,并及时释放

Returns  :     java.sql.Connection

调用举例:    

 

setConnection

  法:    public void setConnection(String dbName ,Connection conn)

参数说明:    dbName -数据库名

        conn - 数据库连接

功能说明:    将数据库连接存入用户数据库连接缓冲池中

Returns  :    

调用举例:     context.setConnection(“jdbc/test”,….getConnection);

 

getApplication

  法:    public javax.servlet.ServletContext getApplication()

功能说明:    web应用中取application对象

Returns  :     javax.servlet.ServletContext JSP中的application对象

调用举例:     javax.servlet.ServletContext application = context.getApplication();

 

setApplication

  法:    public void setApplication(javax.servlet.ServletContext sc)

功能说明:    设置web应用的application对象

Returns  :    

调用举例:     context.setApplication(application);

 

getLocale

  法:  public final java.util.Locale getLocale()

功能说明:  取当前Locale,若未设则从父上下文找,若未找到则返回本机却省Locale

Returns   java.util.Locale 当前Locale

调用举例:  Locale locale = context.getLocale()

 

setLocale

  法:  public final void setLocale(java.util.Locale locale)

功能说明:  设置当前locale

参数说明:  locale  当前locale

调用举例:  context.setLocale(locale)

 

getJspCharset

  法:  public static final java.lang.String getJspCharset()

功能说明:  获取web应用中JSP页面的字符集编码

Returns  String web应用中JSP页面的字符集编码

调用举例:  String charset = context.getJspCharset();

 

setJspCharset

  法:  public static final void setJspCharset(java.lang.String encode)

功能说明:  设置web应用中JSP页面的字符集编码

参数说明:  encode  web应用中JSP页面的字符集编码

调用举例:  context.setJspCharset(“GBK”);

 

getParent

  法:  public Context getParent()

功能说明:  获取父对象上下文

Returns   父对象上下文

调用举例: 

 

getAllParamMap

  法:  public java.util.Map getAllParamMap()

功能说明:  取当前上下文对象及其所有层次父对象中的参数Map

Returns   Map 当前上下文对象及其所有层次父对象中的参数Map

调用举例:  Map map = context.getAllParamMap()

 

setParamMap

  法:  public void setParamMap(java.util.Map map)

功能说明:  设置当前上下文对象中的参数Map

参数说明:  map  当前上下文对象中的参数Map

调用举例:  context.setParamMap(map)

 

getParamValue

   法:  public java.lang.Object getParamValue(java.lang.String paramName)

功能说明:  从当前上下文中按名称取参数值,若无则从父上下文中取

参数说明:  paramName  参数名

Returns   object 取回的参数值

调用举例:  Object o = context.getParamValue(paramName)

 

getDataSetMap

  法:  public java.util.Map getDataSetMap(boolean created)

功能说明:  取当前上下文对象中的数据集Map

参数说明:  created  true表示若不存在则新创建一个MapFalse表示不存在则返回null

Returns   map 当前上下文对象中的数据集Map

调用举例:  Map map = context.getDataSetMap(true)

 

isDataSetName

  法:  public boolean isDataSetName(java.lang.String dsName)

功能说明:  判定给定字符创是否是数据集名称

参数说明:  dsName 给定的字符串

Returns   boolean 是否是数据集名称

调用举例:  boolean b = context.isDataSetName(“data”)

 

getDefDataSourceName

  法:  public java.lang.String getDefDataSourceName()

功能说明:  取缺省数据库名,若为null则从父上下文中取

Returns   string  缺省数据库名

调用举例:  String str = context.getDefDataSourceName()

 

getConnectionMap

  法:  public java.util.map getConnectionMap(boolean created)

功能说明:  取数据库连接map

参数说明:  created true表示若不存在则新创建一个MapFalse表示不存在则返回null

Returns   map  数据库连接map

调用举例:  Map map = context.getConnectionMap()

 

getHttpSession

  法:  public java.servlet.http.HttpSession getHttpSession()

功能说明:  Context链上取第一个非空的HttpSession,取不到则返回null

Returns   HttpSession

调用举例:  context.getHttpSession()

 

setHttpSession

  法:  public void setHttpSession(java.servlet.http.HttpSession hs)

Returns   HttpSession

调用举例:  context.setHttpSession(HttpSession)

 

setReportConfigModel

语法:   public static void setRrportConfigModel(com.raqsoft.web.view.ReportConfigModel reportConfigModel)

参数说明:  reportConfigModel

调用举例:  context.setReportConfigModel()

 

getReportConfigModel

  法:  public static com.raqsoft.web.view.ReportConfigModel getReportCOnfigModel()

Returns   reportConfigModel

调用举例:  context.getReportConfigModel()