KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > hivemind > util > LocalizedFileResourceFinder


1 // Copyright 2004, 2005 The Apache Software Foundation
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15 package org.apache.hivemind.util;
16
17 import java.io.File JavaDoc;
18 import java.util.Locale JavaDoc;
19
20
21 /**
22  * Used by {@link org.apache.hivemind.util.FileResource}
23  * to locate localizations of a given file.
24  *
25  * @author Howard Lewis Ship
26  */

27 public class LocalizedFileResourceFinder
28 {
29     public String JavaDoc findLocalizedPath(String JavaDoc path, Locale JavaDoc locale)
30     {
31         int dotx = path.lastIndexOf('.');
32         String JavaDoc basePath;
33         String JavaDoc suffix;
34         if (dotx >= 0)
35         {
36             basePath = path.substring(0, dotx);
37             suffix = path.substring(dotx);
38         }
39         else
40         {
41             // Resource without extension
42
basePath = path;
43             suffix = "";
44         }
45         LocalizedNameGenerator g = new LocalizedNameGenerator(basePath, locale, suffix);
46
47         while (g.more())
48         {
49             String JavaDoc candidate = g.next();
50
51             File JavaDoc f = new File JavaDoc(candidate);
52
53             if (f.exists())
54                 return candidate;
55         }
56
57         return path;
58     }
59 }
60
Popular Tags