View Javadoc

1   /*
2    * Created on 27 oct. 2003
3    *
4    * To change this generated comment go to 
5    * Window>Preferences>Java>Code Generation>Code Template
6    */
7   package salto.tool.jdo.util;
8   
9   import salto.tool.jdo.data.JdoColInfo;
10  import salto.tool.sql.data.TableColInfo;
11  
12  /***
13   * @author Loiez
14   */
15  public interface IJdbcConvert {
16  	/***
17  	 * Cette méthode permet de retourner la fonction du ResultSet qui sera utilisé
18  	 pour récupérer les données.
19  	 Cette méthode a un impact sur les performances de la base de donnée et cela dépend
20  	 de la manière dont est créé le driver JDBC
21  	 Voici quelques informations concernant les différentes fonctions possibles
22  	 	//non géré par les do
23  		Array getArray(int i) throws SQLException;
24  		Ref getRef(int i) throws SQLException;
25  	
26  		les fonctions suivantes ne seront à priori jamais géré par les do car il est 
27  		important de fermer les flux or ceci ne peut pas être fait automatiquement.
28  		Ces méthodes sont donc réservés à du travail d'expertise, l'invers des DO!!!!
29  		java.io.InputStream getAsciiStream(int columnIndex) throws SQLException;
30  		java.io.InputStream getBinaryStream(int columnIndex)
31  			throws SQLException;
32  		java.io.Reader getCharacterStream(int columnIndex) throws SQLException;
33  		java.io.InputStream getUnicodeStream(int columnIndex) throws SQLException;
34  	
35  		
36  		boolean getBoolean(int columnIndex) throws SQLException;
37  		byte getByte(int columnIndex) throws SQLException;
38  	
39  		//stockage d'objet voir le package 
40  		byte[] getBytes(int columnIndex) throws SQLException;
41  		Blob getBlob(int i) throws SQLException;
42  		Clob getClob(int i) throws SQLException;
43  	
44  		//type primitif
45  		Ces méthodes sont en règle générale les plus performantes
46  		short getShort(int columnIndex) throws SQLException;
47  		int getInt(int columnIndex) throws SQLException;
48  		long getLong(int columnIndex) throws SQLException;
49  		double getDouble(int columnIndex) throws SQLException;
50  		float getFloat(int columnIndex) throws SQLException;
51  		
52  		String getString(int columnIndex) throws SQLException;
53  		
54  		Seul un nombre exceptionnel justifie l'utilisation de ces méthodes
55  		D'une manière générale, il faut essayer d'éviter ces méthodes
56  		car 
57  		1 - Ces nombres sont peu pratiques à gérer pour les développeurs
58  		2 - ce n'est pas, en règle général, les méthodes les plus performantes pour les drivers
59  		
60  		BigDecimal getBigDecimal(int columnIndex) throws SQLException;
61  		BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException;
62  	
63  		A éviter pour des problèmes de performance
64  		Cette méthode est justement créé pour éviter l'utilisation de cette Méthode
65  		
66  		Object getObject(int columnIndex) throws SQLException;
67  	
68  		
69  		
70  		Attention aux types Time et Date qui comportent énormément de méthodes dépréciés
71  		Il est donc préférable de gérer toutes les dates de manière uniforme avec le type
72  		Timestamp
73  		
74  		java.sql.Time getTime(int columnIndex) throws SQLException;
75  		java.sql.Timestamp getTimestamp(int columnIndex) throws SQLException;
76  		java.sql.Date getDate(int columnIndex) throws SQLException;
77  	
78  	 *  Date de création : (20/10/01 09:10:54)
79  	 * @return java.lang.String
80  	 * @param attInfo salto.tool.jdo.JdoInfo
81  	 */
82  	public String convert(JdoColInfo attInfo);
83  
84  	/***
85  	 * Retourne les types java possibles pour le type SQL passé en paramètre
86  	 * @return
87  	 */
88  	public String[] getJavaPossTyp(TableColInfo attInfo);
89  }