All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.caelum.vraptor.converter.ConversionMessage Maven / Gradle / Ivy

There is a newer version: 4.3.0-beta-3
Show newest version
/***
 * Copyright (c) 2009 Caelum - www.caelum.com.br/opensource All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package br.com.caelum.vraptor.converter;

import static com.google.common.base.Objects.firstNonNull;
import static com.google.common.base.Objects.toStringHelper;
import static com.google.common.base.Strings.emptyToNull;

import java.util.ResourceBundle;

import javax.enterprise.inject.Vetoed;

import br.com.caelum.vraptor.validator.I18nMessage;
import br.com.caelum.vraptor.validator.Message;
import br.com.caelum.vraptor.validator.Severity;

@Vetoed
public class ConversionMessage implements Message {

	private static final long serialVersionUID = 1L;
	private final Message message;
	private String category;
	private final Severity severity;

	public ConversionMessage(String category, Message message) {
		this.message = message;
		this.category = category;
		this.severity = Severity.ERROR;
	}
	
	public ConversionMessage(String category, Message message, Severity severity) {
		this.message = message;
		this.category = category;
		this.severity = severity;
	}

	public ConversionMessage(String key, Object... parameters) {
		this("",new I18nMessage("", key, parameters));
	}

	public ConversionMessage(String key, Severity severity, Object... parameters) {
		this("",new I18nMessage("", key, parameters),severity);
	}

	
	@Override
	public Severity getSeverity() {
		return severity;
	}

	@Override
	public String getMessage() {
		return message.getMessage();
	}

	public Message withCategory(String category) {
		this.category = category;
		return this;
	}

	@Override
	public String getCategory() {
		return firstNonNull(emptyToNull(message.getCategory()), category);
	}

	@Override
	public void setBundle(ResourceBundle bundle) {
		message.setBundle(bundle);
	}

	@Override
	public String toString() {
		return toStringHelper(this).add("category", getCategory()).add("message", getMessage()).toString();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy