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