SpringMessageResolver.java
- package com.github.mygreen.supercsv.localization;
- import java.util.Optional;
- import org.springframework.context.MessageSource;
- import org.springframework.context.NoSuchMessageException;
- import org.springframework.context.support.MessageSourceAccessor;
- /**
- * Springの{@link MessageSource}をブリッジする{@link MessageResolver}。
- *
- * @version 2.0
- * @author T.TSUCHIE
- *
- */
- public class SpringMessageResolver implements MessageResolver {
-
- protected MessageSourceAccessor messageSourceAccessor;
-
- public SpringMessageResolver() {
-
- }
-
- public SpringMessageResolver(final MessageSource messageSource) {
- setMessageSource(messageSource);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Optional<String> getMessage(final String code) {
- try {
- return Optional.of(messageSourceAccessor.getMessage(code));
-
- } catch(NoSuchMessageException e) {
- return Optional.empty();
- }
- }
-
- /**
- * メッセージソースを設定する
- * @param messageSource Springのメッセージソース
- */
- public void setMessageSource(final MessageSource messageSource) {
- this.messageSourceAccessor = new MessageSourceAccessor(messageSource);
- }
-
- /**
- * メッセージソースを取得する。
- * @return 現在設定されているメッセージソースをラップした{@link MessageSourceAccessor}を返す。
- */
- protected MessageSourceAccessor getMessageSourceAccessor() {
- return messageSourceAccessor;
- }
- }