Package com.ibm.icu.impl
Class ICUData
- java.lang.Object
-
- com.ibm.icu.impl.ICUData
-
public final class ICUData extends java.lang.Object
Provides access to ICU data files as InputStreams. Implements security checking.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ICU_BASE_NAME
The base name of ICU data to be used with ClassLoader.getResourceAsStream(), ICUResourceBundle.getBundleInstance() etc.static java.lang.String
ICU_BRKITR_BASE_NAME
The base name of rbbi data to be used with getBundleInstance APIstatic java.lang.String
ICU_BRKITR_NAME
The base name of rbbi data to be used with getData APIstatic java.lang.String
ICU_BUNDLE
The data path to be used with Class.getResourceAsStream().static java.lang.String
ICU_COLLATION_BASE_NAME
The base name of collation data to be used with getBundleInstance APIstatic java.lang.String
ICU_CURR_BASE_NAME
(package private) static java.lang.String
ICU_DATA_PATH
The data path to be used with getBundleInstance APIstatic java.lang.String
ICU_LANG_BASE_NAME
static java.lang.String
ICU_RBNF_BASE_NAME
The base name of rbnf data to be used with getBundleInstance APIstatic java.lang.String
ICU_REGION_BASE_NAME
static java.lang.String
ICU_TRANSLIT_BASE_NAME
The base name of transliterator data to be used with getBundleInstance APIstatic java.lang.String
ICU_UNIT_BASE_NAME
static java.lang.String
ICU_ZONE_BASE_NAME
private static boolean
logBinaryDataFromInputStream
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 java.util.logging.Logger
logger
(package private) static java.lang.String
PACKAGE_NAME
The ICU data package name.
-
Constructor Summary
Constructors Constructor Description ICUData()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
checkStreamForBinaryData(java.io.InputStream is, java.lang.String resourceName)
static boolean
exists(java.lang.String resourceName)
static java.io.InputStream
getRequiredStream(java.lang.Class<?> root, java.lang.String resourceName)
Convenience method that calls getStream(root, resourceName, true).static java.io.InputStream
getRequiredStream(java.lang.ClassLoader loader, java.lang.String resourceName)
static java.io.InputStream
getRequiredStream(java.lang.String resourceName)
Convenience method that calls getStream(ICUData.class, resourceName, true).static java.io.InputStream
getStream(java.lang.Class<?> root, java.lang.String resourceName)
Convenience override that calls getStream(root, resourceName, false); Returns null if the resource could not be found.private static java.io.InputStream
getStream(java.lang.Class<?> root, java.lang.String resourceName, boolean required)
static java.io.InputStream
getStream(java.lang.ClassLoader loader, java.lang.String resourceName)
(package private) static java.io.InputStream
getStream(java.lang.ClassLoader loader, java.lang.String resourceName, boolean required)
Should be called only from ICUBinary.getData() or from convenience overloads here.static java.io.InputStream
getStream(java.lang.String resourceName)
Convenience override that calls getStream(ICUData.class, resourceName, false); Returns null if the resource could not be found.
-
-
-
Field Detail
-
ICU_DATA_PATH
static final java.lang.String ICU_DATA_PATH
The data path to be used with getBundleInstance API- See Also:
- Constant Field Values
-
PACKAGE_NAME
static final java.lang.String 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:
- Constant Field Values
-
ICU_BUNDLE
public static final java.lang.String ICU_BUNDLE
The data path to be used with Class.getResourceAsStream().- See Also:
- Constant Field Values
-
ICU_BASE_NAME
public static final java.lang.String ICU_BASE_NAME
The base name of ICU data to be used with ClassLoader.getResourceAsStream(), ICUResourceBundle.getBundleInstance() etc.- See Also:
- Constant Field Values
-
ICU_COLLATION_BASE_NAME
public static final java.lang.String ICU_COLLATION_BASE_NAME
The base name of collation data to be used with getBundleInstance API- See Also:
- Constant Field Values
-
ICU_BRKITR_NAME
public static final java.lang.String ICU_BRKITR_NAME
The base name of rbbi data to be used with getData API- See Also:
- Constant Field Values
-
ICU_BRKITR_BASE_NAME
public static final java.lang.String ICU_BRKITR_BASE_NAME
The base name of rbbi data to be used with getBundleInstance API- See Also:
- Constant Field Values
-
ICU_RBNF_BASE_NAME
public static final java.lang.String ICU_RBNF_BASE_NAME
The base name of rbnf data to be used with getBundleInstance API- See Also:
- Constant Field Values
-
ICU_TRANSLIT_BASE_NAME
public static final java.lang.String ICU_TRANSLIT_BASE_NAME
The base name of transliterator data to be used with getBundleInstance API- See Also:
- Constant Field Values
-
ICU_LANG_BASE_NAME
public static final java.lang.String ICU_LANG_BASE_NAME
- See Also:
- Constant Field Values
-
ICU_CURR_BASE_NAME
public static final java.lang.String ICU_CURR_BASE_NAME
- See Also:
- Constant Field Values
-
ICU_REGION_BASE_NAME
public static final java.lang.String ICU_REGION_BASE_NAME
- See Also:
- Constant Field Values
-
ICU_ZONE_BASE_NAME
public static final java.lang.String ICU_ZONE_BASE_NAME
- See Also:
- Constant Field Values
-
ICU_UNIT_BASE_NAME
public static final java.lang.String ICU_UNIT_BASE_NAME
- See Also:
- Constant Field Values
-
logBinaryDataFromInputStream
private static final boolean logBinaryDataFromInputStream
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. 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:
- Constant Field Values
-
logger
private static final java.util.logging.Logger logger
-
-
Method Detail
-
exists
public static boolean exists(java.lang.String resourceName)
-
getStream
private static java.io.InputStream getStream(java.lang.Class<?> root, java.lang.String resourceName, boolean required)
-
getStream
static java.io.InputStream getStream(java.lang.ClassLoader loader, java.lang.String resourceName, boolean required)
Should be called only from ICUBinary.getData() or from convenience overloads here.
-
checkStreamForBinaryData
private static void checkStreamForBinaryData(java.io.InputStream is, java.lang.String resourceName)
-
getStream
public static java.io.InputStream getStream(java.lang.ClassLoader loader, java.lang.String resourceName)
-
getRequiredStream
public static java.io.InputStream getRequiredStream(java.lang.ClassLoader loader, java.lang.String resourceName)
-
getStream
public static java.io.InputStream getStream(java.lang.String resourceName)
Convenience override that calls getStream(ICUData.class, resourceName, false); Returns null if the resource could not be found.
-
getRequiredStream
public static java.io.InputStream getRequiredStream(java.lang.String resourceName)
Convenience method that calls getStream(ICUData.class, resourceName, true).- Throws:
java.util.MissingResourceException
- if the resource could not be found
-
getStream
public static java.io.InputStream getStream(java.lang.Class<?> root, java.lang.String resourceName)
Convenience override that calls getStream(root, resourceName, false); Returns null if the resource could not be found.
-
getRequiredStream
public static java.io.InputStream getRequiredStream(java.lang.Class<?> root, java.lang.String resourceName)
Convenience method that calls getStream(root, resourceName, true).- Throws:
java.util.MissingResourceException
- if the resource could not be found
-
-