package org.esmerilprogramming.overtown.http.converter;
import java.lang.reflect.Field;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
public class DefaultObjectToJsonConverter implements ObjectToJsonConverter {
public JsonObject converter(Object value) {
try {
Field[] declaredFields = getFields( value );
JsonObjectBuilder builder = Json.createObjectBuilder();
for (Field field : declaredFields) {
field.setAccessible(true);
builder.add( field.getName() , String.valueOf( field.get(value) ) );
field.setAccessible(false);
}
return builder.build();
} catch (IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
return null;
}
protected Field[] getFields( Object value ){
Class<? extends Object> clazz = value.getClass();
return clazz.getDeclaredFields();
}
}