
br.eti.clairton.vraptor.crud.serializer.ModelSerializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vraptor-crud Show documentation
Show all versions of vraptor-crud Show documentation
A crud bootstrap do use VRaptor
The newest version!
package br.eti.clairton.vraptor.crud.serializer;
import static br.eti.clairton.inflector.Inflector.getForLocale;
import static br.eti.clairton.inflector.Locale.pt_BR;
import java.lang.reflect.Type;
import javax.enterprise.inject.Default;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.validation.constraints.NotNull;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import br.eti.clairton.inflector.Inflector;
import br.eti.clairton.model.Model;
/**
* Serializa os objetos da de forma a integrar com o modo
* ActiveSerializerSerializer do ember.
*
* @author Clairton Rodrigo Heinzen [email protected]
*/
@Default
@TagableTo(Model.class)
public class ModelSerializer extends AbstractModelSerializer implements JsonSerializer, JsonDeserializer {
private static final long serialVersionUID = 1L;
@Inject
public ModelSerializer(@NotNull final Inflector inflector, @NotNull EntityManager em) {
super(inflector, em);
}
public ModelSerializer() {
this(getForLocale(pt_BR), null);
}
@Override
public JsonElement serialize(final Model src, final Type type, final JsonSerializationContext context) {
return super.serialize(src, type, context);
}
@Override
public Model deserialize(final JsonElement json, final Type type, final JsonDeserializationContext context) throws JsonParseException {
return super.deserialize(json, type, context);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy