001 /*
002 * Copyright 2008-2016 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.codehaus.griffon.runtime.core.i18n;
017
018 import griffon.core.i18n.MessageSource;
019 import griffon.core.i18n.NoSuchMessageException;
020
021 import javax.annotation.Nonnull;
022 import javax.annotation.Nullable;
023 import java.util.List;
024 import java.util.Locale;
025 import java.util.Map;
026 import java.util.ResourceBundle;
027
028 import static java.util.Objects.requireNonNull;
029
030 /**
031 * @author Andres Almiray
032 * @since 2.4.0
033 */
034 public class MessageSourceDecorator implements MessageSource {
035 private final MessageSource delegate;
036
037 public MessageSourceDecorator(@Nonnull MessageSource delegate) {
038 this.delegate = requireNonNull(delegate, "Argument 'delegate' must not be null");
039 }
040
041 @Nonnull
042 protected MessageSource getDelegate() {
043 return delegate;
044 }
045
046 @Nonnull
047 public String getMessage(@Nonnull String key) throws NoSuchMessageException {
048 return getDelegate().getMessage(key);
049 }
050
051 @Nonnull
052 public String formatMessage(@Nonnull String message, @Nonnull Object[] args) {
053 return getDelegate().formatMessage(message, args);
054 }
055
056 @Nullable
057 public String getMessage(@Nonnull String key, @Nonnull List<?> args, @Nonnull Locale locale, @Nullable String defaultMessage) {
058 return getDelegate().getMessage(key, args, locale, defaultMessage);
059 }
060
061 @Nonnull
062 public String getMessage(@Nonnull String key, @Nonnull Object[] args, @Nonnull Locale locale) throws NoSuchMessageException {
063 return getDelegate().getMessage(key, args, locale);
064 }
065
066 @Nonnull
067 public String getMessage(@Nonnull String key, @Nonnull List<?> args) throws NoSuchMessageException {
068 return getDelegate().getMessage(key, args);
069 }
070
071 @Nullable
072 public String getMessage(@Nonnull String key, @Nonnull List<?> args, @Nullable String defaultMessage) {
073 return getDelegate().getMessage(key, args, defaultMessage);
074 }
075
076 @Nullable
077 public String getMessage(@Nonnull String key, @Nonnull Object[] args, @Nonnull Locale locale, @Nullable String defaultMessage) {
078 return getDelegate().getMessage(key, args, locale, defaultMessage);
079 }
080
081 @Nonnull
082 public String formatMessage(@Nonnull String message, @Nonnull List<?> args) {
083 return getDelegate().formatMessage(message, args);
084 }
085
086 @Nonnull
087 public String formatMessage(@Nonnull String message, @Nonnull Map<String, Object> args) {
088 return getDelegate().formatMessage(message, args);
089 }
090
091 @Nonnull
092 public String getMessage(@Nonnull String key, @Nonnull Object[] args) throws NoSuchMessageException {
093 return getDelegate().getMessage(key, args);
094 }
095
096 @Nullable
097 public String getMessage(@Nonnull String key, @Nullable String defaultMessage) {
098 return getDelegate().getMessage(key, defaultMessage);
099 }
100
101 @Nullable
102 public String getMessage(@Nonnull String key, @Nonnull Map<String, Object> args, @Nullable String defaultMessage) {
103 return getDelegate().getMessage(key, args, defaultMessage);
104 }
105
106 @Nonnull
107 public String getMessage(@Nonnull String key, @Nonnull Locale locale) throws NoSuchMessageException {
108 return getDelegate().getMessage(key, locale);
109 }
110
111 @Nonnull
112 public String getMessage(@Nonnull String key, @Nonnull Map<String, Object> args) throws NoSuchMessageException {
113 return getDelegate().getMessage(key, args);
114 }
115
116 @Nullable
117 public String getMessage(@Nonnull String key, @Nonnull Locale locale, @Nullable String defaultMessage) {
118 return getDelegate().getMessage(key, locale, defaultMessage);
119 }
120
121 @Nullable
122 public String getMessage(@Nonnull String key, @Nonnull Object[] args, @Nullable String defaultMessage) {
123 return getDelegate().getMessage(key, args, defaultMessage);
124 }
125
126 @Nonnull
127 public String getMessage(@Nonnull String key, @Nonnull Map<String, Object> args, @Nonnull Locale locale) throws NoSuchMessageException {
128 return getDelegate().getMessage(key, args, locale);
129 }
130
131 @Nonnull
132 public ResourceBundle asResourceBundle() {
133 return getDelegate().asResourceBundle();
134 }
135
136 @Nullable
137 public String getMessage(@Nonnull String key, @Nonnull Map<String, Object> args, @Nonnull Locale locale, @Nullable String defaultMessage) {
138 return getDelegate().getMessage(key, args, locale, defaultMessage);
139 }
140
141 @Nonnull
142 public String getMessage(@Nonnull String key, @Nonnull List<?> args, @Nonnull Locale locale) throws NoSuchMessageException {
143 return getDelegate().getMessage(key, args, locale);
144 }
145
146 @Nonnull
147 public Object resolveMessageValue(@Nonnull String key, @Nonnull Locale locale) throws NoSuchMessageException {
148 return getDelegate().resolveMessageValue(key, locale);
149 }
150 }
|