ResourceBundle Class Reference

A class representing a collection of resource information pertaining to a given locale. More...

#include <resbund.h>

Inheritance diagram for ResourceBundle:
UObject UMemory

Public Member Functions

 ResourceBundle (const UnicodeString &packageName, const Locale &locale, UErrorCode &err)
 Constructor.
 ResourceBundle (const UnicodeString &packageName, UErrorCode &err)
 Construct a resource bundle for the default bundle in the specified package.
 ResourceBundle (UErrorCode &err)
 Construct a resource bundle for the ICU default bundle.
 ResourceBundle (const char *packageName, const Locale &locale, UErrorCode &err)
 Standard constructor, onstructs a resource bundle for the locale-specific bundle in the specified package.
 ResourceBundle (const ResourceBundle &original)
 Copy constructor.
 ResourceBundle (UResourceBundle *res, UErrorCode &status)
 Constructor from a C UResourceBundle.
ResourceBundleoperator= (const ResourceBundle &other)
 Assignment operator.
virtual ~ResourceBundle ()
 Destructor.
ResourceBundleclone () const
 Clone this object.
int32_t getSize (void) const
 Returns the size of a resource.
UnicodeString getString (UErrorCode &status) const
 returns a string from a string resource type
const uint8_t * getBinary (int32_t &len, UErrorCode &status) const
 returns a binary data from a resource.
const int32_t * getIntVector (int32_t &len, UErrorCode &status) const
 returns an integer vector from a resource.
uint32_t getUInt (UErrorCode &status) const
 returns an unsigned integer from a resource.
int32_t getInt (UErrorCode &status) const
 returns a signed integer from a resource.
UBool hasNext (void) const
 Checks whether the resource has another element to iterate over.
void resetIterator (void)
 Resets the internal context of a resource so that iteration starts from the first element.
const char * getKey (void) const
 Returns the key associated with this resource.
const char * getName (void) const
 Gets the locale ID of the resource bundle as a string.
UResType getType (void) const
 Returns the type of a resource.
ResourceBundle getNext (UErrorCode &status)
 Returns the next resource in a given resource or NULL if there are no more resources.
UnicodeString getNextString (UErrorCode &status)
 Returns the next string in a resource or NULL if there are no more resources to iterate over.
UnicodeString getNextString (const char **key, UErrorCode &status)
 Returns the next string in a resource or NULL if there are no more resources to iterate over.
ResourceBundle get (int32_t index, UErrorCode &status) const
 Returns the resource in a resource at the specified index.
UnicodeString getStringEx (int32_t index, UErrorCode &status) const
 Returns the string in a given resource at the specified index.
ResourceBundle get (const char *key, UErrorCode &status) const
 Returns a resource in a resource that has a given key.
UnicodeString getStringEx (const char *key, UErrorCode &status) const
 Returns a string in a resource that has a given key.
const char * getVersionNumber (void) const
 Return the version number associated with this ResourceBundle as a string.
void getVersion (UVersionInfo versionInfo) const
 Return the version number associated with this ResourceBundle as a UVersionInfo array.
const LocalegetLocale (void) const
 Return the Locale associated with this ResourceBundle.
const Locale getLocale (ULocDataLocaleType type, UErrorCode &status) const
 Return the Locale associated with this ResourceBundle.
ResourceBundle getWithFallback (const char *key, UErrorCode &status)
 This API implements multilevel fallback.
virtual UClassID getDynamicClassID () const
 ICU "poor man's RTTI", returns a UClassID for the actual class.

Static Public Member Functions

static UClassID getStaticClassID ()
 ICU "poor man's RTTI", returns a UClassID for this class.

Detailed Description

A class representing a collection of resource information pertaining to a given locale.

A resource bundle provides a way of accessing locale- specfic information in a data file. You create a resource bundle that manages the resources for a given locale and then ask it for individual resources.

Resource bundles in ICU4C are currently defined using text files which conform to the following BNF definition. More on resource bundle concepts and syntax can be found in the Users Guide.

The ResourceBundle class is not suitable for subclassing.

Stable:
ICU 2.0

Definition at line 78 of file resbund.h.


Constructor & Destructor Documentation

ResourceBundle::ResourceBundle ( const UnicodeString packageName,
const Locale locale,
UErrorCode err 
)

Constructor.

Parameters:
packageName The packageName and locale together point to an ICU udata object, as defined by udata_open( packageName, "res", locale, err) or equivalent. Typically, packageName will refer to a (.dat) file, or to a package registered with udata_setAppData(). Using a full file or directory pathname for packageName is deprecated.
locale This is the locale this resource bundle is for. To get resources for the French locale, for example, you would create a ResourceBundle passing Locale::FRENCH for the "locale" parameter, and all subsequent calls to that resource bundle will return resources that pertain to the French locale. If the caller doesn't pass a locale parameter, the default locale for the system (as returned by Locale::getDefault()) will be used.
err The Error Code. The UErrorCode& err parameter is used to return status information to the user. To check whether the construction succeeded or not, you should check the value of U_SUCCESS(err). If you wish more detailed information, you can check for informational error results which still indicate success. U_USING_FALLBACK_WARNING indicates that a fall back locale was used. For example, 'de_CH' was requested, but nothing was found there, so 'de' was used. U_USING_DEFAULT_WARNING indicates that the default locale data was used; neither the requested locale nor any of its fall back locales could be found.
Stable:
ICU 2.0
ResourceBundle::ResourceBundle ( const UnicodeString packageName,
UErrorCode err 
)

Construct a resource bundle for the default bundle in the specified package.

Parameters:
packageName The packageName and locale together point to an ICU udata object, as defined by udata_open( packageName, "res", locale, err) or equivalent. Typically, packageName will refer to a (.dat) file, or to a package registered with udata_setAppData(). Using a full file or directory pathname for packageName is deprecated.
err A UErrorCode value
Stable:
ICU 2.0
ResourceBundle::ResourceBundle ( UErrorCode err  ) 

Construct a resource bundle for the ICU default bundle.

Parameters:
err A UErrorCode value
Stable:
ICU 2.0
ResourceBundle::ResourceBundle ( const char *  packageName,
const Locale locale,
UErrorCode err 
)

Standard constructor, onstructs a resource bundle for the locale-specific bundle in the specified package.

Parameters:
packageName The packageName and locale together point to an ICU udata object, as defined by udata_open( packageName, "res", locale, err) or equivalent. Typically, packageName will refer to a (.dat) file, or to a package registered with udata_setAppData(). Using a full file or directory pathname for packageName is deprecated. NULL is used to refer to ICU data.
locale The locale for which to open a resource bundle.
err A UErrorCode value
Stable:
ICU 2.0
ResourceBundle::ResourceBundle ( const ResourceBundle original  ) 

Copy constructor.

Parameters:
original The resource bundle to copy.
Stable:
ICU 2.0
ResourceBundle::ResourceBundle ( UResourceBundle res,
UErrorCode status 
)

Constructor from a C UResourceBundle.

The resource bundle is copied and not adopted. ures_close will still need to be used on the original resource bundle.

Parameters:
res A pointer to the C resource bundle.
status A UErrorCode value.
Stable:
ICU 2.0
virtual ResourceBundle::~ResourceBundle (  )  [virtual]

Destructor.

Stable:
ICU 2.0

Member Function Documentation

ResourceBundle* ResourceBundle::clone (  )  const

Clone this object.

Clones can be used concurrently in multiple threads. If an error occurs, then NULL is returned. The caller must delete the clone.

Returns:
a clone of this object
See also:
getDynamicClassID
Stable:
ICU 2.8
ResourceBundle ResourceBundle::get ( const char *  key,
UErrorCode status 
) const

Returns a resource in a resource that has a given key.

This procedure works only with table resources.

Parameters:
key a key associated with the wanted resource
status fills in the outgoing error code.
Returns:
ResourceBundle object. If there is an error, resource is invalid.
Stable:
ICU 2.0
ResourceBundle ResourceBundle::get ( int32_t  index,
UErrorCode status 
) const

Returns the resource in a resource at the specified index.

Parameters:
index an index to the wanted resource.
status fills in the outgoing error code
Returns:
ResourceBundle object. If there is an error, resource is invalid.
Stable:
ICU 2.0
const uint8_t* ResourceBundle::getBinary ( int32_t &  len,
UErrorCode status 
) const

returns a binary data from a resource.

Can be used at most primitive resource types (binaries, strings, ints)

Parameters:
len fills in the length of resulting byte chunk
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR if the key is not found could be a warning e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
a pointer to a chunk of unsigned bytes which live in a memory mapped/DLL file.
Stable:
ICU 2.0
virtual UClassID ResourceBundle::getDynamicClassID (  )  const [virtual]

ICU "poor man's RTTI", returns a UClassID for the actual class.

Stable:
ICU 2.2

Implements UObject.

int32_t ResourceBundle::getInt ( UErrorCode status  )  const

returns a signed integer from a resource.

This integer is originally 28 bit and the sign gets propagated.

Parameters:
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR if the key is not found could be a warning e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
a signed integer value
Stable:
ICU 2.0
const int32_t* ResourceBundle::getIntVector ( int32_t &  len,
UErrorCode status 
) const

returns an integer vector from a resource.

Parameters:
len fills in the length of resulting integer vector
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR if the key is not found could be a warning e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
a pointer to a vector of integers that lives in a memory mapped/DLL file.
Stable:
ICU 2.0
const char* ResourceBundle::getKey ( void   )  const

Returns the key associated with this resource.

Not all the resources have a key - only those that are members of a table.

Returns:
a key associated to this resource, or NULL if it doesn't have a key
Stable:
ICU 2.0
const Locale ResourceBundle::getLocale ( ULocDataLocaleType  type,
UErrorCode status 
) const

Return the Locale associated with this ResourceBundle.

Parameters:
type You can choose between requested, valid and actual locale. For description see the definition of ULocDataLocaleType in uloc.h
status just for catching illegal arguments
Returns:
a Locale object
Stable:
ICU 2.8
const Locale& ResourceBundle::getLocale ( void   )  const

Return the Locale associated with this ResourceBundle.

Returns:
a Locale object
Deprecated:
ICU 2.8 Use getLocale(ULocDataLocaleType type, UErrorCode &status) overload instead.
const char* ResourceBundle::getName ( void   )  const

Gets the locale ID of the resource bundle as a string.

Same as getLocale().getName() .

Returns:
the locale ID of the resource bundle as a string
Stable:
ICU 2.0
ResourceBundle ResourceBundle::getNext ( UErrorCode status  ) 

Returns the next resource in a given resource or NULL if there are no more resources.

Parameters:
status fills in the outgoing error code
Returns:
ResourceBundle object.
Stable:
ICU 2.0
UnicodeString ResourceBundle::getNextString ( const char **  key,
UErrorCode status 
)

Returns the next string in a resource or NULL if there are no more resources to iterate over.

Parameters:
key fill in for key associated with this string
status fills in the outgoing error code
Returns:
an UnicodeString object.
Stable:
ICU 2.0
UnicodeString ResourceBundle::getNextString ( UErrorCode status  ) 

Returns the next string in a resource or NULL if there are no more resources to iterate over.

Parameters:
status fills in the outgoing error code
Returns:
an UnicodeString object.
Stable:
ICU 2.0
int32_t ResourceBundle::getSize ( void   )  const

Returns the size of a resource.

Size for scalar types is always 1, and for vector/table types is the number of child resources.

Warning:
Integer array is treated as a scalar type. There are no APIs to access individual members of an integer array. It is always returned as a whole.
Returns:
number of resources in a given resource.
Stable:
ICU 2.0
static UClassID ResourceBundle::getStaticClassID (  )  [static]

ICU "poor man's RTTI", returns a UClassID for this class.

Stable:
ICU 2.2
UnicodeString ResourceBundle::getString ( UErrorCode status  )  const

returns a string from a string resource type

Parameters:
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR if the key is not found could be a warning e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
a pointer to a zero-terminated UChar array which lives in a memory mapped/DLL file.
Stable:
ICU 2.0
UnicodeString ResourceBundle::getStringEx ( const char *  key,
UErrorCode status 
) const

Returns a string in a resource that has a given key.

This procedure works only with table resources.

Parameters:
key a key associated with the wanted string
status fills in the outgoing error code
Returns:
an UnicodeString object. If there is an error, string is bogus
Stable:
ICU 2.0
UnicodeString ResourceBundle::getStringEx ( int32_t  index,
UErrorCode status 
) const

Returns the string in a given resource at the specified index.

Parameters:
index an index to the wanted string.
status fills in the outgoing error code
Returns:
an UnicodeString object. If there is an error, string is bogus
Stable:
ICU 2.0
UResType ResourceBundle::getType ( void   )  const

Returns the type of a resource.

Available types are defined in enum UResType

Returns:
type of the given resource.
Stable:
ICU 2.0
uint32_t ResourceBundle::getUInt ( UErrorCode status  )  const

returns an unsigned integer from a resource.

This integer is originally 28 bits.

Parameters:
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR if the key is not found could be a warning e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
an unsigned integer value
Stable:
ICU 2.0
void ResourceBundle::getVersion ( UVersionInfo  versionInfo  )  const

Return the version number associated with this ResourceBundle as a UVersionInfo array.

Parameters:
versionInfo A UVersionInfo array that is filled with the version number as specified in the resource bundle or its parent.
Stable:
ICU 2.0
const char* ResourceBundle::getVersionNumber ( void   )  const

Return the version number associated with this ResourceBundle as a string.

Please use getVersion, as this method is going to be deprecated.

Returns:
A version number string as specified in the resource bundle or its parent. The caller does not own this string.
See also:
getVersion
Deprecated:
ICU 2.8 Use getVersion instead.
ResourceBundle ResourceBundle::getWithFallback ( const char *  key,
UErrorCode status 
)

This API implements multilevel fallback.

Internal:
Do not use. This API is for internal use only.
UBool ResourceBundle::hasNext ( void   )  const

Checks whether the resource has another element to iterate over.

Returns:
TRUE if there are more elements, FALSE if there is no more elements
Stable:
ICU 2.0
ResourceBundle& ResourceBundle::operator= ( const ResourceBundle other  ) 

Assignment operator.

Parameters:
other The resource bundle to copy.
Stable:
ICU 2.0
void ResourceBundle::resetIterator ( void   ) 

Resets the internal context of a resource so that iteration starts from the first element.

Stable:
ICU 2.0

The documentation for this class was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sat Jan 23 15:17:43 2010 for ICU 4.3.4 by  doxygen 1.6.1