package br.com.caelum.vraptor.validator; import static com.google.common.base.Objects.firstNonNull; import javax.enterprise.context.RequestScoped; import javax.enterprise.inject.Produces; import javax.inject.Inject; import br.com.caelum.vraptor.Result; @RequestScoped public class MessagesProducer { private static final String MESSAGES_KEY = "vmessages"; private final Result result; /** * @deprecated CDI eyes only */ protected MessagesProducer() { this(null); } @Inject public MessagesProducer(Result result) { this.result = result; } @Produces @RequestScoped public Messages create() { Messages messages = (Messages) result.included().get(MESSAGES_KEY); messages = firstNonNull(messages, new Messages()); result.include(MESSAGES_KEY, messages); return messages; } }