001/*
002// $Id: //open/util/resgen/src/org/eigenbase/resgen/JavaLocaleGenerator.java#2 $
003// Package org.eigenbase.resgen is an i18n resource generator.
004// Copyright (C) 2005-2005 The Eigenbase Project
005// Copyright (C) 2005-2005 Disruptive Tech
006// Copyright (C) 2005-2005 LucidEra, Inc.
007// Portions Copyright (C) 2001-2005 Kana Software, Inc. and others.
008//
009// This library is free software; you can redistribute it and/or modify it
010// under the terms of the GNU Lesser General Public License as published by the
011// Free Software Foundation; either version 2 of the License, or (at your
012// option) any later version approved by The Eigenbase Project.
013//
014// This library 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
017// GNU Lesser General Public License for more details.
018// 
019// You should have received a copy of the GNU Lesser General Public License
020// along with this library; if not, write to the Free Software
021// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
022*/
023package org.eigenbase.resgen;
024
025import java.util.Locale;
026import java.io.PrintWriter;
027import java.io.File;
028
029/**
030 * Generates a Java class for a locale.
031 *
032 * @author jhyde
033 * @since 19 September, 2005
034 * @version $Id: //open/util/resgen/src/org/eigenbase/resgen/JavaLocaleGenerator.java#2 $
035 */
036public class JavaLocaleGenerator extends AbstractJavaGenerator
037{
038    private final Locale locale;
039
040    JavaLocaleGenerator(
041        File srcFile,
042        File file,
043        String className,
044        ResourceDef.ResourceBundle resourceBundle,
045        Locale locale,
046        String baseClassName)
047    {
048        super(srcFile, file, className, resourceBundle, baseClassName);
049        this.locale = locale;
050    }
051
052    public void generateModule(ResourceGen generator, ResourceDef.ResourceBundle resourceList, PrintWriter pw)
053    {
054        generateHeader(pw);
055        // e.g. "happy.BirthdayResource_en_US"
056        String className = getClassName();
057        // e.g. "BirthdayResource_en_US"
058        String classNameSansPackage = Util.removePackage(className);
059        // e.g. "happy.BirthdayResource"
060        final String baseClass = getBaseClassName();
061        // e.g. "BirthdayResource"
062        String baseClassSansPackage = Util.removePackage(baseClass);
063        pw.println("public class " + classNameSansPackage + " extends " + baseClassSansPackage + " {");
064        pw.println("    public " + classNameSansPackage + "() throws IOException {");
065        pw.println("    }");
066        pw.println("}");
067        pw.println("");
068        generateFooter(pw, classNameSansPackage);
069    }
070
071    public void generateResource(ResourceDef.Resource resource, PrintWriter pw)
072    {
073        throw new UnsupportedOperationException();
074    }
075}
076
077// End JavaLocaleGenerator.java