public class XmlResourceBundle
extends java.util.ResourceBundle
This adds the simplicity of using properties files for resources (no compilation necessary) with better language support (properties files are always in ISO-8859-1 encoding, while an XML file can specify its encoding) and some more features like comments.
Modifier and Type | Class and Description |
---|---|
static class |
XmlResourceBundle.AbstractBasicResourceNode
Abstract base implementation of a resource node.
|
static class |
XmlResourceBundle.ResourceActionGroup
Special resource group for actions.
|
static interface |
XmlResourceBundle.ResourceNode
Basic definition of a resource node in the XML file.
|
static interface |
XmlResourceBundle.ValueType |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ATTR_COMMENT |
static java.lang.String |
ATTR_INHERET |
static java.lang.String |
ATTR_KEY |
static java.lang.String |
ATTR_NAME |
static java.lang.String |
ATTR_SUBTYPE |
static java.lang.String |
ATTR_TYPE |
static java.lang.String |
ATTR_VALUE |
static java.lang.String |
ATTR_VERSION |
static java.lang.String |
EXTENSION
Extension used for XML resource bundles.
|
static int |
MY_VERSION |
static XmlResourceBundle.ValueType |
OBJECT_VALUE_TYPE |
static java.lang.String |
TAG_ACTION |
static java.lang.String |
TAG_GROUP |
static java.lang.String |
TAG_I18N |
static java.lang.String |
TAG_RESOURCE |
Constructor and Description |
---|
XmlResourceBundle()
Default constructor.
|
XmlResourceBundle(java.io.InputStream is)
Read an XML resource from the given input stream.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getComment() |
java.util.Enumeration<java.lang.String> |
getKeys()
Returns an enumeration of the keys.
|
static java.util.ResourceBundle |
getResourceBundle(java.lang.String baseName)
Get a resource bundle with a given basename, using the default locale.
|
static java.util.ResourceBundle |
getResourceBundle(java.lang.String baseName,
java.util.Locale locale)
Get a resource bundle with a given basename, using the given locale.
|
static java.util.ResourceBundle |
getResourceBundle(java.lang.String baseName,
java.util.Locale locale,
java.lang.ClassLoader classLoader)
Get a resource bundle with a given basename, using the given locale and class loader.
|
protected java.lang.Object |
handleGetObject(java.lang.String key)
Gets an object for the given key from this resource bundle.
|
static void |
main(java.lang.String[] args) |
void |
putInheretedResource(java.lang.String key) |
void |
putObjectResource(java.lang.String key,
java.io.Serializable value) |
void |
putObjectResource(java.lang.String key,
java.io.Serializable value,
java.lang.String comment) |
void |
putResource(java.lang.String key,
java.lang.Object value,
XmlResourceBundle.ValueType type) |
void |
putResource(java.lang.String key,
java.lang.Object value,
XmlResourceBundle.ValueType type,
java.lang.String comment) |
void |
putStringArrayResource(java.lang.String key,
java.lang.String[] value) |
void |
putStringArrayResource(java.lang.String key,
java.lang.String[] value,
java.lang.String comment) |
void |
putStringResource(java.lang.String key,
java.lang.String value) |
void |
putStringResource(java.lang.String key,
java.lang.String value,
java.lang.String comment) |
void |
saveXml(java.io.OutputStream os) |
public static final java.lang.String EXTENSION
public static final java.lang.String TAG_I18N
public static final java.lang.String TAG_GROUP
public static final java.lang.String TAG_RESOURCE
public static final java.lang.String TAG_ACTION
public static final java.lang.String ATTR_KEY
public static final java.lang.String ATTR_VALUE
public static final java.lang.String ATTR_TYPE
public static final java.lang.String ATTR_SUBTYPE
public static final java.lang.String ATTR_COMMENT
public static final java.lang.String ATTR_VERSION
public static final java.lang.String ATTR_INHERET
public static final java.lang.String ATTR_NAME
public static final int MY_VERSION
public static final XmlResourceBundle.ValueType OBJECT_VALUE_TYPE
public XmlResourceBundle(java.io.InputStream is) throws java.io.IOException, org.xml.sax.SAXException, javax.xml.parsers.ParserConfigurationException
is
- input streamjava.io.IOException
- on i/o errorsorg.xml.sax.SAXException
- on XML parse errorsjavax.xml.parsers.ParserConfigurationException
- on SAX parser configuration errorspublic XmlResourceBundle()
@NotNull public java.util.Enumeration<java.lang.String> getKeys()
getKeys
in class java.util.ResourceBundle
protected java.lang.Object handleGetObject(@NotNull java.lang.String key)
handleGetObject
in class java.util.ResourceBundle
key
- the key for the desired objectjava.lang.NullPointerException
- if key
is null
public java.lang.String getComment()
public void putStringResource(java.lang.String key, java.lang.String value)
public void putStringResource(java.lang.String key, java.lang.String value, java.lang.String comment)
public void putStringArrayResource(java.lang.String key, java.lang.String[] value)
public void putStringArrayResource(java.lang.String key, java.lang.String[] value, java.lang.String comment)
public void putObjectResource(java.lang.String key, java.io.Serializable value)
public void putObjectResource(java.lang.String key, java.io.Serializable value, java.lang.String comment)
public void putResource(java.lang.String key, java.lang.Object value, XmlResourceBundle.ValueType type)
public void putInheretedResource(java.lang.String key)
public void putResource(java.lang.String key, java.lang.Object value, XmlResourceBundle.ValueType type, java.lang.String comment)
public void saveXml(java.io.OutputStream os) throws java.io.IOException
java.io.IOException
public static java.util.ResourceBundle getResourceBundle(java.lang.String baseName)
ResourceBundle.getBundle()
this will also look for XML resource bundles.
The semantics of this is also differing, because it has no access to the class loader of the calling class.
It has to use ClassLoader.getSystemClassLoader()
instead. Access to this method is restricted,
so an exception will be thrown in restricted environments, eg unsigned applets. Use
getResourceBundle(String, java.util.Locale, ClassLoader)
instead with an appropriate class loader.
baseName
- base namepublic static java.util.ResourceBundle getResourceBundle(java.lang.String baseName, java.util.Locale locale)
ResourceBundle.getBundle()
this will also look for XML resource bundles.
The semantics of this is also differing, because it has no access to the class loader of the calling class.
It has to use ClassLoader.getSystemClassLoader()
instead. Access to this method is restricted,
so an exception will be thrown in restricted environments, eg unsigned applets. Use
getResourceBundle(String, java.util.Locale, ClassLoader)
instead with an appropriate class loader.
baseName
- base namelocale
- locale to use for resource bundle resolvepublic static java.util.ResourceBundle getResourceBundle(java.lang.String baseName, java.util.Locale locale, java.lang.ClassLoader classLoader)
ResourceBundle.getBundle()
this will also look for XML resource bundles.baseName
- base namelocale
- locale to use for resource bundle resolveclassLoader
- class loader to use for loading resource bundlespublic static void main(java.lang.String[] args) throws java.io.IOException, org.xml.sax.SAXException, javax.xml.parsers.ParserConfigurationException
java.io.IOException
org.xml.sax.SAXException
javax.xml.parsers.ParserConfigurationException