|
|
@ -51,7 +51,20 @@ import java.util.logging.Level; |
|
|
|
public class FieldSerializer extends Serializer { |
|
|
|
public class FieldSerializer extends Serializer { |
|
|
|
private static Map<Class, SavedField[]> savedFields = new HashMap<Class, SavedField[]>(); |
|
|
|
private static Map<Class, SavedField[]> savedFields = new HashMap<Class, SavedField[]>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected void checkClass(Class clazz) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// See if the class has a public no-arg constructor
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
clazz.getConstructor(); |
|
|
|
|
|
|
|
} catch( NoSuchMethodException e ) { |
|
|
|
|
|
|
|
throw new RuntimeException( "Registration error: no-argument constructor not found on:" + clazz ); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void initialize(Class clazz) { |
|
|
|
public void initialize(Class clazz) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
checkClass(clazz); |
|
|
|
|
|
|
|
|
|
|
|
List<Field> fields = new ArrayList<Field>(); |
|
|
|
List<Field> fields = new ArrayList<Field>(); |
|
|
|
|
|
|
|
|
|
|
|
Class processingClass = clazz; |
|
|
|
Class processingClass = clazz; |
|
|
|