Example usage for org.springframework.context MessageSourceResolvable MessageSourceResolvable

List of usage examples for org.springframework.context MessageSourceResolvable MessageSourceResolvable

Introduction

In this page you can find the example usage for org.springframework.context MessageSourceResolvable MessageSourceResolvable.

Prototype

MessageSourceResolvable

Source Link

Usage

From source file:net.solarnetwork.node.util.PrefixedMessageSource.java

@Override
public String getMessage(final MessageSourceResolvable resolvable, Locale locale)
        throws NoSuchMessageException {
    final String[] codes = resolvable.getCodes();
    if (prefix != null && prefix.length() > 0) {
        for (int i = 0; i < codes.length; i++) {
            if (codes[i].startsWith(prefix)) {
                codes[i] = codes[i].substring(prefix.length());
            }/*  w  w  w. j a  v a2 s .co m*/
        }
    }
    return delegate.getMessage(new MessageSourceResolvable() {

        @Override
        public String getDefaultMessage() {
            return resolvable.getDefaultMessage();
        }

        @Override
        public String[] getCodes() {
            return codes;
        }

        @Override
        public Object[] getArguments() {
            return resolvable.getArguments();
        }
    }, locale);
}

From source file:net.solarnetwork.node.util.TemplatedMessageSource.java

@Override
public String getMessage(final MessageSourceResolvable resolvable, Locale locale)
        throws NoSuchMessageException {
    final String[] codes = resolvable.getCodes();
    if (pat != null) {
        for (int i = 0; i < codes.length; i++) {
            Matcher m = pat.matcher(codes[i]);
            final int count = m.groupCount();
            if (m.matches() && count > 0) {
                // remap using regex capture group
                StringBuilder buf = new StringBuilder();
                for (int j = 1; j <= count; j++) {
                    buf.append(m.group(j));
                }/*from   w  w  w  .  j a  v a  2 s  .c om*/
                codes[i] = buf.toString();
            }
        }
    }
    return delegate.getMessage(new MessageSourceResolvable() {

        @Override
        public String getDefaultMessage() {
            return resolvable.getDefaultMessage();
        }

        @Override
        public String[] getCodes() {
            return codes;
        }

        @Override
        public Object[] getArguments() {
            return resolvable.getArguments();
        }
    }, locale);
}

From source file:org.springframework.richclient.application.support.ApplicationServicesAccessor.java

protected String getMessage(final String[] messageCodes) {
    MessageSourceResolvable resolvable = new MessageSourceResolvable() {
        public String[] getCodes() {
            return messageCodes;
        }//from   w ww  .jav  a 2 s.c o  m

        public Object[] getArguments() {
            return new Object[0];
        }

        public String getDefaultMessage() {
            return messageCodes[0];
        }
    };
    return getApplicationContext().getMessage(resolvable, Locale.getDefault());
}

From source file:org.springframework.richclient.application.support.ApplicationServicesAccessor.java

protected String getMessage(final String[] messageCodes, final Object[] args) {
    MessageSourceResolvable resolvable = new MessageSourceResolvable() {
        public String[] getCodes() {
            return messageCodes;
        }//www  . j a v  a  2 s  .  c om

        public Object[] getArguments() {
            return args;
        }

        public String getDefaultMessage() {
            return messageCodes[0];
        }
    };
    return getApplicationContext().getMessage(resolvable, Locale.getDefault());
}

From source file:org.springframework.richclient.factory.DefaultComponentFactory.java

/**
 * Get the message for the given key. Don't throw an exception if it's not
 * found but return a default value.//from  ww w.  java  2s . co m
 *
 * @param messageKeys The keys to use when looking for the message.
 * @return the message found in the resources or a default message.
 */
protected String getRequiredMessage(final String[] messageKeys) {
    MessageSourceResolvable resolvable = new MessageSourceResolvable() {

        public String[] getCodes() {
            return messageKeys;
        }

        public Object[] getArguments() {
            return null;
        }

        public String getDefaultMessage() {
            if (messageKeys.length > 0) {
                return messageKeys[0];
            }
            return "";
        }
    };
    return getMessages().getMessage(resolvable);
}