1
2
3
4
5
6 package org.weda.message;
7
8 /**Цель: передоставление локализованного сообщения по его ключу
9 * @author Mikhail Titov
10 */
11 public interface Messages {
12 /**Возвращает локализованное сообщение по его ключу. Если локализованного
13 * сообщения для заданного ключа не существует тогда метод вернет
14 * <code>[MESSAGE_KEY]</code>
15 * @param messageKey ключ сообщения внутри элемента. Message key должен
16 * иметь следующий формат:
17 * <code>message_category:message_element:element_target
18 */
19 public String getMessage(String messageKey);
20 /**Возвращает локализованное сообщение по его ключу предварительно
21 * отформивав его. Иными словами, после того как метод найдет локализованное
22 * сообщение, вызвав {@link #getMessage(String)}, он попытается его
23 * отформатировать методом {@link java.lang.String#format()}.
24 * @param messageKey ключ сообщение
25 * @param args знаачения которые будут подставлены вместо placeholder'ов.
26 */
27 public String format(String messageKey, Object... args);
28 /**Метод вернет ключ сообщения если строка соотвествует формату
29 * <code>prefix:message-key</code> иначе метод вернет <code>NULL</code>.
30 */
31 public String extractMessageKey(String str);
32 /**Если <code>str</code> представлена в виде <code>prefix:message-key</code>
33 * (где prefix это по умолчанию <b>message</b>) тогда метод вернет
34 * локализованное сообщение соотвествующее ключу <code>message-key</code>
35 *@see #getMessage(String)
36 */
37 public String replaceInPlace(String str);
38 /**Метод возвращает <code>prefix</code> который используется для указания
39 * ключа сообщения в строке.
40 *@see #replaceInPlace(String)
41 */
42 public String getInPlacePrefix();
43 /**Метод вернет <code>message_key</code> если строка имеет вид:
44 * <code>prefix:message_key</code>, иначе <code>null</code>.
45 * @see #getInPlacePrefix(_
46 * @see #replaceInPlace(String)
47 */
48 }