001    /*
002     * JBoss DNA (http://www.jboss.org/dna)
003     * See the COPYRIGHT.txt file distributed with this work for information
004     * regarding copyright ownership.  Some portions may be licensed
005     * to Red Hat, Inc. under one or more contributor license agreements.
006     * See the AUTHORS.txt file in the distribution for a full listing of 
007     * individual contributors.
008     * 
009     * JBoss DNA is free software. Unless otherwise indicated, all code in JBoss DNA
010     * is licensed to you under the terms of the GNU Lesser General Public License as
011     * published by the Free Software Foundation; either version 2.1 of
012     * the License, or (at your option) any later version.
013     * 
014     * JBoss DNA is distributed in the hope that it will be useful,
015     * but WITHOUT ANY WARRANTY; without even the implied warranty of
016     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017     * Lesser General Public License for more details.
018     *
019     * You should have received a copy of the GNU Lesser General Public
020     * License along with this software; if not, write to the Free
021     * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
022     * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
023     */
024    package org.jboss.dna.common;
025    
026    import java.util.Locale;
027    import java.util.Set;
028    import org.jboss.dna.common.i18n.I18n;
029    
030    /**
031     * @author John Verhaeg
032     * @author Randall Hauch
033     */
034    public final class CommonI18n {
035    
036        // Make sure the following I18n.java-related fields are defined before all other fields to ensure a valid error message is
037        // produced in the event of a missing/duplicate/unused property
038    
039        public static I18n i18nClassInterface;
040        public static I18n i18nClassNotPublic;
041        public static I18n i18nFieldFinal;
042        public static I18n i18nFieldInvalidType;
043        public static I18n i18nFieldNotPublic;
044        public static I18n i18nFieldNotStatic;
045        public static I18n i18nLocalizationFileNotFound;
046        public static I18n i18nLocalizationProblems;
047        public static I18n i18nPropertyDuplicate;
048        public static I18n i18nPropertyMissing;
049        public static I18n i18nPropertyUnused;
050        public static I18n i18nRequiredToSuppliedParameterMismatch;
051    
052        // Core-related fields
053        public static I18n argumentDidNotContainKey;
054        public static I18n argumentDidNotContainObject;
055        public static I18n argumentMayNotBeEmpty;
056        public static I18n argumentMayNotBeGreaterThan;
057        public static I18n argumentMayNotBeLessThan;
058        public static I18n argumentMayNotBeNegative;
059        public static I18n argumentMayNotBeNull;
060        public static I18n argumentMayNotBeNullOrZeroLength;
061        public static I18n argumentMayNotBeNullOrZeroLengthOrEmpty;
062        public static I18n argumentMayNotBePositive;
063        public static I18n argumentMayNotContainNullValue;
064        public static I18n argumentMustBeEmpty;
065        public static I18n argumentMustBeEquals;
066        public static I18n argumentMustBeGreaterThan;
067        public static I18n argumentMustBeGreaterThanOrEqualTo;
068        public static I18n argumentMustBeInstanceOf;
069        public static I18n argumentMustBeLessThan;
070        public static I18n argumentMustBeLessThanOrEqualTo;
071        public static I18n argumentMustBeNegative;
072        public static I18n argumentMustBeNull;
073        public static I18n argumentMustBeNumber;
074        public static I18n argumentMustBeOfMaximumSize;
075        public static I18n argumentMustBeOfMinimumSize;
076        public static I18n argumentMustBePositive;
077        public static I18n argumentMustBeSameAs;
078        public static I18n argumentMustNotBeEquals;
079        public static I18n argumentMustNotBeSameAs;
080        public static I18n componentClassnameNotValid;
081        public static I18n componentNotConfigured;
082        public static I18n dateParsingFailure;
083        public static I18n initialActivityMonitorTaskName;
084        public static I18n nullActivityMonitorTaskName;
085        public static I18n pathAncestorDegreeIsInvalid;
086        public static I18n pathCannotBeNormalized;
087        public static I18n pathIsAlreadyAbsolute;
088        public static I18n pathIsNotAbsolute;
089        public static I18n pathIsNotRelative;
090        public static I18n requiredToSuppliedParameterMismatch;
091    
092        static {
093            try {
094                I18n.initialize(CommonI18n.class);
095            } catch (final Exception err) {
096                System.err.println(err);
097            }
098        }
099    
100        public static Set<Locale> getLocalizationProblemLocales() {
101            return I18n.getLocalizationProblemLocales(CommonI18n.class);
102        }
103    
104        public static Set<String> getLocalizationProblems() {
105            return I18n.getLocalizationProblems(CommonI18n.class);
106        }
107    
108        public static Set<String> getLocalizationProblems( Locale locale ) {
109            return I18n.getLocalizationProblems(CommonI18n.class, locale);
110        }
111    }