• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

trydofor / professional-mirana / #92

26 Jan 2025 09:07AM UTC coverage: 86.903% (-0.5%) from 87.427%
#92

push

trydofor
✨ R.ngError, CodeAware, NameAware #49

0 of 45 new or added lines in 6 files covered. (0.0%)

3 existing lines in 2 files now uncovered.

6861 of 7895 relevant lines covered (86.9%)

0.87 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

88.1
/src/main/java/pro/fessional/mirana/i18n/I18nMessage.java
1
package pro.fessional.mirana.i18n;
2

3

4
import org.jetbrains.annotations.Contract;
5
import org.jetbrains.annotations.NotNull;
6
import pro.fessional.mirana.cast.ChainingCast;
7

8
import java.beans.Transient;
9
import java.util.Arrays;
10
import java.util.Locale;
11
import java.util.Objects;
12

13
/**
14
 * <pre>
15
 * global message for user, the i18n templates and parameters should be merged into
16
 * a local message based on the user's language, rather than the default message.
17
 *
18
 * - message - default i18n message or template
19
 * - i18nCode - i18n template code
20
 * - i18nArgs - i18n template args
21
 * </pre>
22
 */
23
public class I18nMessage implements ChainingCast, I18nAware {
1✔
24

25
    private static final long serialVersionUID = 19791023L;
26

27
    protected String message;
28
    protected String i18nCode;
29
    protected Object[] i18nArgs;
30
    
31
    public String getMessage() {
32
        return message;
1✔
33
    }
34

35
    @Contract("_->this")
36
    public I18nMessage setMessage(String message) {
37
        this.message = message;
1✔
38
        return this;
1✔
39
    }
40

41
    @Override
42
    public String getI18nCode() {
43
        return i18nCode;
1✔
44
    }
45

46
    @Contract("_->this")
47
    public I18nMessage setI18nCode(String i18nCode) {
48
        this.i18nCode = i18nCode;
1✔
49
        return this;
1✔
50
    }
51

52
    @Override
53
    public Object[] getI18nArgs() {
54
        return i18nArgs;
1✔
55
    }
56

57

58
    @Contract("_->this")
59
    public I18nMessage setI18nArgs(Object... i18nArgs) {
60
        this.i18nArgs = i18nArgs;
1✔
61
        return this;
1✔
62
    }
63

64
    @Transient
65
    @Override
66
    public String getI18nHint() {
67
        return message;
1✔
68
    }
69

70
    @Transient
71
    @Contract("_->this")
72
    public I18nMessage setMessageBy(I18nAware ia) {
73
        if (ia != null) {
1✔
74
            setMessage(ia.getI18nHint());
1✔
75
            setI18nCode(ia.getI18nCode());
1✔
76
            setI18nArgs(ia.getI18nArgs());
1✔
77
        }
78
        return this;
1✔
79
    }
80

81
    @Transient
82
    @Contract("_,_->this")
83
    public I18nMessage setMessageBy(String message, I18nAware ia) {
84
        setMessageBy(ia);
1✔
85
        setMessage(message);
1✔
86
        return this;
1✔
87
    }
88

89
    @Transient
90
    @Contract("_,_->this")
91
    public I18nMessage setMessageBy(String message, String i18nCode) {
92
        setMessage(message);
1✔
93
        setI18nCode(i18nCode);
1✔
94
        return this;
1✔
95
    }
96

97
    @Transient
98
    @Contract("_,_,_->this")
99
    public I18nMessage setMessageBy(String message, String i18nCode, Object... i18nArgs) {
100
        setMessage(message);
1✔
101
        setI18nCode(i18nCode);
1✔
102
        setI18nArgs(i18nArgs);
1✔
103
        return this;
1✔
104
    }
105

106
    @Transient
107
    @Contract("_->this")
108
    public I18nMessage setMessageBy(Locale locale) {
109
        return setMessage(toString(locale));
1✔
110
    }
111

112
    @Contract("_,_->this")
113
    public I18nMessage setMessageBy(Locale locale, @NotNull I18nSource source) {
114
        return setMessage(toString(locale, source));
1✔
115
    }
116

117
    @Override
118
    public boolean equals(Object o) {
119
        if (this == o) return true;
1✔
120
        if (o == null || getClass() != o.getClass()) return false;
1✔
121
        I18nMessage that = (I18nMessage) o;
1✔
122
        return Objects.equals(message, that.message)
1✔
123
               && Objects.equals(i18nCode, that.i18nCode)
1✔
124
               && Objects.deepEquals(i18nArgs, that.i18nArgs);
1✔
125
    }
126

127
    @Override
128
    public int hashCode() {
129
        return Objects.hash(message, i18nCode, Arrays.hashCode(i18nArgs));
1✔
130
    }
131

132
    @Override
133
    public String toString() {
134
        return "I18nMessage{" +
1✔
135
               "message='" + message + '\'' +
136
               ", i18nCode='" + i18nCode + '\'' +
137
               ", i18nArgs=" + Arrays.toString(i18nArgs) +
1✔
138
               '}';
139
    }
140

141
    public static I18nMessage of(@NotNull I18nAware i18n){
NEW
142
        I18nMessage msg = new I18nMessage();
×
NEW
143
        msg.setMessage(i18n.getI18nHint());
×
NEW
144
        msg.setI18nCode(i18n.getI18nCode());
×
NEW
145
        msg.setI18nArgs(i18n.getI18nArgs());
×
NEW
146
        return msg;
×
147
    }
148
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc