Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2004-2008 the original author or authors.
   *
   * 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 org.springframework.binding.message;
 
 import java.util.List;
 import java.util.Map;
 
The default message context implementation. Uses a org.springframework.context.MessageSource to resolve messages that are added by callers.

Author(s):
Keith Donald
 
 
 	private static final Log logger = LogFactory.getLog(DefaultMessageContext.class);
 
 
 	private Map sourceMessages = new CachingMapDecorator(new LinkedHashMap()) {
 		protected Object create(Object source) {
 			return new ArrayList();
 		}
 	};

Creates a new default message context. Defaults to a message source that simply resolves default text and cannot resolve localized message codes.
 
 	public DefaultMessageContext() {
 		init(null);
 	}

Creates a new default message context.

Parameters:
messageSource the message source to resolve messages added to this context
 
 	public DefaultMessageContext(MessageSource messageSource) {
 		init(messageSource);
 	}
 
 		return ;
 	}
 
 	// implementing message context
 
 	public Message[] getAllMessages() {
 		List messages = new ArrayList();
 		for (Iterator it = .values().iterator(); it.hasNext();) {
 			messages.addAll((Listit.next());
 		}
 		return (Message[]) messages.toArray(new Message[messages.size()]);
 	}
 
 	public Message[] getMessagesBySource(Object source) {
 		List messages = (List.get(source);
 		return (Message[]) messages.toArray(new Message[messages.size()]);
 	}
 
 	public Message[] getMessagesByCriteria(MessageCriteria criteria) {
 		List messages = new ArrayList();
 		while (it.hasNext()) {
 			List sourceMessages = (Listit.next();
 			for (Iterator it2 = sourceMessages.iterator(); it2.hasNext();) {
 				Message message = (Messageit2.next();
 				if (criteria.test(message)) {
 					messages.add(message);
 				}
 			}
		}
		return (Message[]) messages.toArray(new Message[messages.size()]);
	}
	public boolean hasErrorMessages() {
		while (it.hasNext()) {
			List sourceMessages = (Listit.next();
			for (Iterator it2 = sourceMessages.iterator(); it2.hasNext();) {
				Message message = (Messageit2.next();
				if (message.getSeverity() == .) {
					return true;
				}
			}
		}
		return false;
	}
	public void addMessage(MessageResolver messageResolver) {
		Locale currentLocale = LocaleContextHolder.getLocale();
			.debug("Resolving message using " + messageResolver);
		}
		Message message = messageResolver.resolveMessage(currentLocale);
		List messages = (List.get(message.getSource());
			.debug("Adding resolved message " + message);
		}
		messages.add(message);
	}
	public void clearMessages() {
	}
	// implementing state manageable message context
		return new HashMap();
	}
	public void restoreMessages(Serializable messagesMemento) {
		.putAll((MapmessagesMemento);
	}
	public void setMessageSource(MessageSource messageSource) {
		if (messageSource == null) {
			messageSource = new DefaultTextFallbackMessageSource();
		}
		this. = messageSource;
	}
	// internal helpers
	private void init(MessageSource messageSource) {
		setMessageSource(messageSource);
		// create the 'null' source message list eagerly to ensure global messages are indexed first
		this..get(null);
	}
	public String toString() {
		return new ToStringCreator(this).append("sourceMessages").toString();
	}
	private static class DefaultTextFallbackMessageSource extends AbstractMessageSource {
		protected MessageFormat resolveCode(String codeLocale locale) {
			return null;
		}
	}
New to GrepCode? Check out our FAQ X