MessageSourceDecorator.java
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 keythrows 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 localethrows NoSuchMessageException {
065         return getDelegate().getMessage(key, args, locale);
066     }
067 
068     @Nonnull
069     public String getMessage(@Nonnull String key, @Nonnull List<?> argsthrows 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[] argsthrows 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 localethrows NoSuchMessageException {
110         return getDelegate().getMessage(key, locale);
111     }
112 
113     @Nonnull
114     public String getMessage(@Nonnull String key, @Nonnull Map<String, Object> argsthrows 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 localethrows 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 localethrows NoSuchMessageException {
145         return getDelegate().getMessage(key, args, locale);
146     }
147 
148     @Nonnull
149     public Object resolveMessageValue(@Nonnull String key, @Nonnull Locale localethrows NoSuchMessageException {
150         return getDelegate().resolveMessageValue(key, locale);
151     }
152 }