|
Spring Framework example source code file (DefaultMessageSourceResolvable.java)
The Spring Framework DefaultMessageSourceResolvable.java source code/* * Copyright 2002-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.context.support; import java.io.Serializable; import org.springframework.context.MessageSourceResolvable; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; /** * Default implementation of the {@link MessageSourceResolvable} interface. * Offers an easy way to store all the necessary values needed to resolve * a message via a {@link org.springframework.context.MessageSource}. * * @author Juergen Hoeller * @since 13.02.2004 * @see org.springframework.context.MessageSource#getMessage(MessageSourceResolvable, java.util.Locale) */ public class DefaultMessageSourceResolvable implements MessageSourceResolvable, Serializable { private final String[] codes; private final Object[] arguments; private final String defaultMessage; /** * Create a new DefaultMessageSourceResolvable. * @param code the code to be used to resolve this message */ public DefaultMessageSourceResolvable(String code) { this(new String[] {code}, null, null); } /** * Create a new DefaultMessageSourceResolvable. * @param codes the codes to be used to resolve this message */ public DefaultMessageSourceResolvable(String[] codes) { this(codes, null, null); } /** * Create a new DefaultMessageSourceResolvable. * @param codes the codes to be used to resolve this message * @param defaultMessage the default message to be used to resolve this message */ public DefaultMessageSourceResolvable(String[] codes, String defaultMessage) { this(codes, null, defaultMessage); } /** * Create a new DefaultMessageSourceResolvable. * @param codes the codes to be used to resolve this message * @param arguments the array of arguments to be used to resolve this message */ public DefaultMessageSourceResolvable(String[] codes, Object[] arguments) { this(codes, arguments, null); } /** * Create a new DefaultMessageSourceResolvable. * @param codes the codes to be used to resolve this message * @param arguments the array of arguments to be used to resolve this message * @param defaultMessage the default message to be used to resolve this message */ public DefaultMessageSourceResolvable(String[] codes, Object[] arguments, String defaultMessage) { this.codes = codes; this.arguments = arguments; this.defaultMessage = defaultMessage; } /** * Copy constructor: Create a new instance from another resolvable. * @param resolvable the resolvable to copy from */ public DefaultMessageSourceResolvable(MessageSourceResolvable resolvable) { this(resolvable.getCodes(), resolvable.getArguments(), resolvable.getDefaultMessage()); } public String[] getCodes() { return this.codes; } /** * Return the default code of this resolvable, that is, * the last one in the codes array. */ public String getCode() { return (this.codes != null && this.codes.length > 0) ? this.codes[this.codes.length - 1] : null; } public Object[] getArguments() { return this.arguments; } public String getDefaultMessage() { return this.defaultMessage; } /** * Build a default String representation for this MessageSourceResolvable: * including codes, arguments, and default message. */ protected final String resolvableToString() { StringBuffer buf = new StringBuffer(); buf.append("codes [").append(StringUtils.arrayToDelimitedString(this.codes, ",")); buf.append("]; arguments [" + StringUtils.arrayToDelimitedString(this.arguments, ",")); buf.append("]; default message [").append(this.defaultMessage).append(']'); return buf.toString(); } /** * Default implementation exposes the attributes of this MessageSourceResolvable. * To be overridden in more specific subclasses, potentially including the * resolvable content through <code>resolvableToString(). * @see #resolvableToString() */ public String toString() { return getClass().getName() + ": " + resolvableToString(); } public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof MessageSourceResolvable)) { return false; } MessageSourceResolvable otherResolvable = (MessageSourceResolvable) other; return ObjectUtils.nullSafeEquals(getCodes(), otherResolvable.getCodes()); } public int hashCode() { return ObjectUtils.nullSafeHashCode(getCodes()); } } Other Spring Framework examples (source code examples)Here is a short list of links related to this Spring Framework DefaultMessageSourceResolvable.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.