📄 javabeandatasourceconnection.java
字号:
/*
* JRCustomDataSource.java
*
* iReport -- Visual designer for generating JasperReports Documents
* Copyright (C) 2002-2003 Giulio Toffoli gt@businesslogic.it
*
* This program is free software; you can redistribute and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* Giulio Toffoli
* Via T.Aspetti, 233
* 35100 Padova ITALY
* gt@businesslogic.it
*
*
* Created on 4 giugno 2003, 18.15
*/
package it.businesslogic.ireport.connection;
import it.businesslogic.ireport.*;
import it.businesslogic.ireport.util.*;
import java.sql.*;
import javax.swing.*;
/**
*
* @author Administrator
*/
public class JavaBeanDataSourceConnection extends it.businesslogic.ireport.IReportConnection {
public static String BEAN_ARRAY = "BEAN_ARRAY";
public static String BEAN_COLLECTION = "BEAN_COLLECTION";
private String name;
private String factoryClass;
private String methodToCall;
private String type = "BEAN_COLLECTION";
/** Creates a new instance of JDBCConnection */
public JavaBeanDataSourceConnection() {
}
/** This method return an instanced connection to the database.
* If isJDBCConnection() return false => getConnection() return null
*
*/
public java.sql.Connection getConnection() {
return null;
}
public boolean isJDBCConnection() {
return false;
}
/*
* This method return all properties used by this connection
*/
public java.util.HashMap getProperties()
{
java.util.HashMap map = new java.util.HashMap();
map.put("FactoryClass", Misc.nvl(this.getFactoryClass() ,"") );
map.put("MethodToCall", Misc.nvl(this.getMethodToCall(),""));
map.put("Type", Misc.nvl(this.getType(),""));
return map;
}
public void loadProperties(java.util.HashMap map)
{
this.setFactoryClass( (String)map.get("FactoryClass"));
this.setMethodToCall( (String)map.get("MethodToCall"));
}
public String getDescription(){ return "JavaBean set datasource"; }
/** Getter for property methodToCall.
* @return Value of property methodToCall.
*
*/
public java.lang.String getMethodToCall() {
return methodToCall;
}
/** Setter for property methodToCall.
* @param methodToCall New value of property methodToCall.
*
*/
public void setMethodToCall(java.lang.String methodToCall) {
this.methodToCall = methodToCall;
}
/** Getter for property factoryClass.
* @return Value of property factoryClass.
*
*/
public java.lang.String getFactoryClass() {
return factoryClass;
}
/** Setter for property factoryClass.
* @param factoryClass New value of property factoryClass.
*
*/
public void setFactoryClass(java.lang.String factoryClass) {
this.factoryClass = factoryClass;
}
/**
* Getter for property type.
* @return Value of property type.
*/
public java.lang.String getType() {
return type;
}
/**
* Setter for property type.
* @param type New value of property type.
*/
public void setType(java.lang.String type) {
this.type = type;
}
/**
* This method return an instanced JRDataDource to the database.
* If isJDBCConnection() return true => getJRDataSource() return false
*/
public net.sf.jasperreports.engine.JRDataSource getJRDataSource()
{
try {
Object obj = Class.forName( factoryClass ).newInstance();
Object return_obj = obj.getClass().getMethod( methodToCall, new Class[0]).invoke(null,new Object[0]);
if (return_obj != null)
{
if (Misc.nvl(this.getType(),"").equals(BEAN_ARRAY) )
{
return new net.sf.jasperreports.engine.data.JRBeanArrayDataSource((Object[]) return_obj);
}
else if (Misc.nvl(this.getType(),"").equals(BEAN_COLLECTION) )
{
return new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource((java.util.Collection) return_obj);
}
}
return new net.sf.jasperreports.engine.JREmptyDataSource();
} catch (Exception ex)
{
return super.getJRDataSource();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -