View Javadoc

1   package ch.qos.cal10n.verifier;
2   
3   import java.util.List;
4   import java.util.Locale;
5   
6   /**
7    * An interface for verifying that given an enum type, the keys match those
8    * found in the corresponding resource bundles.
9    * 
10   * <p>
11   * See also {@link MessageKeyVerifier} for a concrete implementation.
12   * 
13   * @author Ceki G&uuml;lc&uuml;
14   * 
15   */
16  public interface IMessageKeyVerifier {
17  
18    // WARNING:
19    // WARNING: The name of this class is referenced in String form
20    // to do class loader tricks. Do not change the name of this class
21    // without looking at the maven-cal10n-plugin.
22  
23    /**
24     * Get the of enum type that this verifier is related to to.
25     * 
26     * @return
27     */
28    public Class<? extends Enum<?>> getEnumType();
29  
30    /**
31     * Get the name of enum type to this verifier is related to to.
32     * 
33     * @return
34     */
35    public String getEnumTypeAsStr();
36  
37    /**
38     * Verify that the keys defined in the enumClass match those found in the
39     * resource bundle corresponding to a certain locale
40     * 
41     * @param locale
42     * @return
43     */
44    public List<Cal10nError> verify(Locale locale);
45  
46    /**
47     * Verify that the keys defined in the enumClass match those found in the
48     * corresponding resource bundle for all locales declared in the enum type
49     * via the &#64;{@link LocaleData} annotation.
50     * 
51     * @param locale
52     * @return
53     */
54    public List<Cal10nError> verifyAllLocales();
55  
56    /**
57     * Same as {@link #verify(Locale)} except that the return type is
58     * List<String>.
59     * 
60     * @param locale
61     * @return
62     */
63    public List<String> typeIsolatedVerify(Locale locale);
64  
65    /**
66     * Get the locales specified in the enumType (via annotations)
67     * 
68     * @return
69     */
70    public String[] getLocaleNames();
71  
72    /**
73     * Get the base name for the resource bundle family as specified in the enumType (via
74     * annotations)
75     * 
76     * @return
77     */
78    public String getBaseName();
79  }