Index: topia/src/java/org/codelutin/topia/annotation/ClassInfo.java diff -u topia/src/java/org/codelutin/topia/annotation/ClassInfo.java:1.6 topia/src/java/org/codelutin/topia/annotation/ClassInfo.java:1.7 --- topia/src/java/org/codelutin/topia/annotation/ClassInfo.java:1.6 Tue Jul 26 14:32:06 2005 +++ topia/src/java/org/codelutin/topia/annotation/ClassInfo.java Wed Aug 24 15:03:45 2005 @@ -23,9 +23,9 @@ * Created: 19 juillet 2005 12:18:58 CEST * * @author Benjamin POUSSIN - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ * - * Last update: $Date: 2005/07/26 14:32:06 $ + * Last update: $Date: 2005/08/24 15:03:45 $ * by : $Author: bpoussin $ */ @@ -54,7 +54,8 @@ String [] fields() default {}; /** liste les types de champs de la classe */ Class [] fieldTypes() default {}; - /** Les valeurs par defaut des champs de la classe */ + /** Les valeurs par defaut des champs de la classe, une valeur null dans le + table correspond a la valeur par defaut du framework */ String [] fieldValues() default {}; /** Si associationClass est vrai indique la partie A de l'association */ Index: topia/src/java/org/codelutin/topia/annotation/ClassInfoHelper.java diff -u topia/src/java/org/codelutin/topia/annotation/ClassInfoHelper.java:1.4 topia/src/java/org/codelutin/topia/annotation/ClassInfoHelper.java:1.5 --- topia/src/java/org/codelutin/topia/annotation/ClassInfoHelper.java:1.4 Thu Aug 11 16:32:43 2005 +++ topia/src/java/org/codelutin/topia/annotation/ClassInfoHelper.java Wed Aug 24 15:03:45 2005 @@ -23,14 +23,15 @@ * Created: 20 juillet 2005 12:35:42 CEST * * @author Benjamin POUSSIN - * @version $Revision: 1.4 $ + * @version $Revision: 1.5 $ * - * Last update: $Date: 2005/08/11 16:32:43 $ - * by : $Author: thimel $ + * Last update: $Date: 2005/08/24 15:03:45 $ + * by : $Author: bpoussin $ */ package org.codelutin.topia.annotation; +import java.util.Arrays; import java.util.logging.Level; import java.util.logging.Logger; @@ -95,10 +96,42 @@ return info.fieldTypes(); } + public static Class fieldType(Class clazz, String field){ + Class result = null; + String [] fields = fields(clazz); + int index = 0; + while(!fields[index].equals(field) && index < fields.length){ + index++; + } + if(fields[index].equals(field)){ + result = fieldTypes(clazz)[index]; + } + return result; + } + /** Les valeurs par defaut des champs de la classe */ public static String [] fieldValues(Class clazz){ ClassInfo info = getInfo(clazz); - return info.fieldValues(); + String [] result = info.fieldValues(); + if(result.length == 0){ + result = new String[fields(clazz).length]; + // Arrays.fill(result, null); // inutil car normalement initialisé a null + } + + return result; + } + + public static String fieldValue(Class clazz, String field){ + String result = null; + String [] fields = fields(clazz); + int index = 0; + while(!fields[index].equals(field) && index < fields.length){ + index++; + } + if(fields[index].equals(field)){ + result = fieldValues(clazz)[index]; + } + return result; } /** Si associationClass est vrai indique la partie A de l'association */