package br.com.caelum.vraptor.deserialization.gson; import java.util.Collections; import java.util.List; import br.com.caelum.vraptor.ioc.Component; import br.com.caelum.vraptor.serialization.gson.PackageComparator; import com.google.common.collect.Lists; import com.google.gson.JsonDeserializer; @Component @SuppressWarnings("rawtypes") public class DefaultJsonDeserializers implements JsonDeserializers { private final List<JsonDeserializer> deserializers; public DefaultJsonDeserializers(List<JsonDeserializer> deserializers) { this.deserializers = Lists.newArrayList(deserializers); sortDeserializers(); } public List<JsonDeserializer> getDeserializers() { return deserializers; } /** * Override this method if you want another ordering strategy. */ protected void sortDeserializers() { Collections.sort(this.deserializers, new PackageComparator()); } }