/* * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.imageio.plugins.common; import java.io.InputStream; import java.util.PropertyResourceBundle; import java.net.URL; /** * Class to simplify use of internationalization message strings. * Property files are constructed in terms of content as for JAI with * one "key=value" pair per line. All such files however have the same * name "properties". The resource extractor resolves the extraction of * the file from the jar as the package name is included automatically. * *
Extenders need only provide a static method
* getString(String)
which calls the static method in this
* class with the name of the invoking class and returns a
* String
.
*/
public class I18NImpl {
/**
* Returns the message string with the specified key from the
* "properties" file in the package containing the class with
* the specified name.
*/
protected static final String getString(String className, String resource_name, String key) {
PropertyResourceBundle bundle = null;
try {
InputStream stream =
Class.forName(className).getResourceAsStream(resource_name);
bundle = new PropertyResourceBundle(stream);
} catch(Throwable e) {
throw new RuntimeException(e); // Chain the exception.
}
return (String)bundle.handleGetObject(key);
}
}