public final String getMessage( final Class<?> origin, final String key, final Object[] messageParameters, final boolean useAbsentMessageRepresentation) { // origin CAN be null Validate.notNull(key, "Message key cannot be null"); // messageParameter CAN be null final Set<IMessageResolver> messageResolvers = this.configuration.getMessageResolvers(); // Try to resolve the message for (final IMessageResolver messageResolver : messageResolvers) { final String resolvedMessage = messageResolver.resolveMessage(this, origin, key, messageParameters); if (resolvedMessage != null) { return resolvedMessage; } } // Message unresolved: try to create an "absent message representation" (if specified to do so) if (useAbsentMessageRepresentation) { for (final IMessageResolver messageResolver : messageResolvers) { final String absentMessageRepresentation = messageResolver.createAbsentMessageRepresentation(this, origin, key, messageParameters); if (absentMessageRepresentation != null) { return absentMessageRepresentation; } } } return null; }
if (messageResolution == null) { messageResolution = messageResolver.resolveMessage(arguments, messageKey, messageParameters);