1 package com.github.mygreen.supercsv.localization;
2
3 import java.util.Optional;
4
5 import org.springframework.context.MessageSource;
6 import org.springframework.context.NoSuchMessageException;
7 import org.springframework.context.support.MessageSourceAccessor;
8
9
10
11
12
13
14
15
16
17 public class SpringMessageResolver implements MessageResolver {
18
19 protected MessageSourceAccessor messageSourceAccessor;
20
21 public SpringMessageResolver() {
22
23 }
24
25 public SpringMessageResolver(final MessageSource messageSource) {
26 setMessageSource(messageSource);
27 }
28
29
30
31
32 @Override
33 public Optional<String> getMessage(final String code) {
34 try {
35 return Optional.of(messageSourceAccessor.getMessage(code));
36
37 } catch(NoSuchMessageException e) {
38 return Optional.empty();
39 }
40 }
41
42
43
44
45
46 public void setMessageSource(final MessageSource messageSource) {
47 this.messageSourceAccessor = new MessageSourceAccessor(messageSource);
48 }
49
50
51
52
53
54 protected MessageSourceAccessor getMessageSourceAccessor() {
55 return messageSourceAccessor;
56 }
57 }