Package com.ibm.icu.impl
Class ICUData
java.lang.Object
com.ibm.icu.impl.ICUData
Provides access to ICU data files as InputStreams. Implements security checking.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The base name of ICU data to be used with ClassLoader.getResourceAsStream(), ICUResourceBundle.getBundleInstance() etc.static final String
The base name of rbbi data to be used with getBundleInstance APIstatic final String
The base name of rbbi data to be used with getData APIstatic final String
The data path to be used with Class.getResourceAsStream().static final String
The base name of collation data to be used with getBundleInstance APIstatic final String
(package private) static final String
The data path to be used with getBundleInstance APIstatic final String
static final String
The base name of rbnf data to be used with getBundleInstance APIstatic final String
static final String
The base name of transliterator data to be used with getBundleInstance APIstatic final String
static final String
private static final boolean
For testing (otherwise false): When reading an InputStream from a Class or ClassLoader (that is, not from a file), log when the stream contains ICU binary data.private static final Logger
(package private) static final String
The ICU data package name. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
checkStreamForBinaryData
(InputStream is, String resourceName) static boolean
static InputStream
getRequiredStream
(Class<?> root, String resourceName) Convenience method that calls getStream(root, resourceName, true).static InputStream
getRequiredStream
(ClassLoader loader, String resourceName) static InputStream
getRequiredStream
(String resourceName) Convenience method that calls getStream(ICUData.class, resourceName, true).static InputStream
Convenience override that calls getStream(root, resourceName, false); Returns null if the resource could not be found.private static InputStream
static InputStream
getStream
(ClassLoader loader, String resourceName) (package private) static InputStream
getStream
(ClassLoader loader, String resourceName, boolean required) Should be called only from ICUBinary.getData() or from convenience overloads here.static InputStream
Convenience override that calls getStream(ICUData.class, resourceName, false); Returns null if the resource could not be found.
-
Field Details
-
ICU_DATA_PATH
The data path to be used with getBundleInstance API- See Also:
-
PACKAGE_NAME
The ICU data package name. This is normally the name of the .dat package, and the prefix (plus '/') of the package entry names.- See Also:
-
ICU_BUNDLE
The data path to be used with Class.getResourceAsStream().- See Also:
-
ICU_BASE_NAME
The base name of ICU data to be used with ClassLoader.getResourceAsStream(), ICUResourceBundle.getBundleInstance() etc.- See Also:
-
ICU_COLLATION_BASE_NAME
The base name of collation data to be used with getBundleInstance API- See Also:
-
ICU_BRKITR_NAME
The base name of rbbi data to be used with getData API- See Also:
-
ICU_BRKITR_BASE_NAME
The base name of rbbi data to be used with getBundleInstance API- See Also:
-
ICU_RBNF_BASE_NAME
The base name of rbnf data to be used with getBundleInstance API- See Also:
-
ICU_TRANSLIT_BASE_NAME
The base name of transliterator data to be used with getBundleInstance API- See Also:
-
ICU_LANG_BASE_NAME
- See Also:
-
ICU_CURR_BASE_NAME
- See Also:
-
ICU_REGION_BASE_NAME
- See Also:
-
ICU_ZONE_BASE_NAME
- See Also:
-
ICU_UNIT_BASE_NAME
- See Also:
-
logBinaryDataFromInputStream
private static final boolean logBinaryDataFromInputStreamFor testing (otherwise false): When reading an InputStream from a Class or ClassLoader (that is, not from a file), log when the stream contains ICU binary data. This cannot be ICUConfig'ured because ICUConfig calls ICUData.getStream() to read the properties file, so we would get a circular dependency in the class initialization.- See Also:
-
logger
-
-
Constructor Details
-
ICUData
public ICUData()
-
-
Method Details
-
exists
-
getStream
-
getStream
Should be called only from ICUBinary.getData() or from convenience overloads here. -
checkStreamForBinaryData
-
getStream
-
getRequiredStream
-
getStream
Convenience override that calls getStream(ICUData.class, resourceName, false); Returns null if the resource could not be found. -
getRequiredStream
Convenience method that calls getStream(ICUData.class, resourceName, true).- Throws:
MissingResourceException
- if the resource could not be found
-
getStream
Convenience override that calls getStream(root, resourceName, false); Returns null if the resource could not be found. -
getRequiredStream
Convenience method that calls getStream(root, resourceName, true).- Throws:
MissingResourceException
- if the resource could not be found
-