A resource dictionary is a container that maps resource IDs to resources. More...
Classes | |
class | UrlMapPair |
Represents a record in resource ID to URL map as a key-URL pair. More... | |
Public Member Functions | |
ObjectRef< Resource > | acquire (ResourceID key) |
Gets from the resource dictionary the resource with the resource ID that you pass to the function. | |
ResourceManager.AcquireTask | acquireAsync (ResourceID key, ResourceManager.AcquireTask.Callback callback) |
Asynchronously acquires a resource. | |
void | add (ResourceDictionary resourceDictionary) |
Adds a nested resource dictionary to a resource dictionary. | |
void | add (ResourceID key, Resource resource) |
Adds a resource ID to a resource mapping to a resource dictionary. | |
void | add (ResourceID key, String url) |
Adds a resource ID to a resource URL mapping to a resource dictionary. | |
void | addAnonymousResource (Resource resource) |
Adds an anonymous resource to a resource dictionary. | |
ObjectRef< ResourceDictionary > | clone () |
Duplicates a resource dictionary. | |
boolean | contains (ResourceID key) |
Returns whether a resource dictionary contains a mapping for the resource ID that you pass to the function. | |
String | find (ResourceID key) |
Resolves the mapping from the resource ID that you pass to the function to the URL of the resource. | |
ResourceDictionary | findDictionary (String name) |
Searches for a nested dictionary with the specified name and returns a pointer to it. | |
Resource | findStoredResource (ResourceID key) |
Finds an explicitly stored resource pointer from a dictionary. | |
int | getDictionaryCount () |
Gets the number of nested resource dictionaries in a resource dictionary. | |
Iterable< Resource > | iterateAnonymousResources () |
Returns an Iterable object that you can use to iterate the anonymous resources stored by this resource dictionary object. | |
Iterable< UrlMapPair > | iterateUrls () |
Returns an Iterable object that you can use to iterate elements of the URL mappings container. | |
void | merge (ResourceDictionary preferredDictionary) |
Copies into this resource dictionary the contents of the resource dictionary that you pass to the function. | |
void | remove (ResourceID key) |
Removes a resource ID mapping from a resource dictionary. | |
void | removeAnonymousResource (Resource resource) |
Removes an anonymous resource from the resource dictionary. | |
void | removeDictionary (int index) |
Removes a nested resource dictionary from a resource dictionary. | |
Iterable< ResourceDictionary > | reverseIterateNestedResourceDictionaries () |
Returns an Iterable object that you can use to iterate nested resource dictionary container in reversed order. | |
Public Member Functions inherited from Resource | |
String | getName () |
Gets the resource name. | |
String | getUrl () |
Gets the resource URL. | |
void | setKeepAlive (boolean keepAlive) |
Sets the keep alive flag. | |
Public Member Functions inherited from KanziObject | |
boolean | equals (Object object) |
Domain | getDomain () |
Returns the domain the object belongs to. | |
Metaclass | getDynamicMetaclass () |
Returns the metaclass of the dynamic type of the object. | |
long | getNative () |
Gets a pointer to the backing C++ instance. | |
TDataType | getOptionalProperty (PropertyType< TDataType > propertyType) |
Returns the current value of a property type, but does not use the default value if there are no inputs to the property value. | |
TDataType | getProperty (PropertyType< TDataType > propertyType) |
Returns the current value of a property type. | |
int | hashCode () |
boolean | hasValue (PropertyType< TDataType > propertyType) |
Evaluates whether there are any inputs into the property value. | |
boolean | isStale () |
Test if the object is stale i.e. | |
void | removeLocalValue (PropertyType< TDataType > propertyType) |
Removes the local value associated with the property. | |
void | setProperty (PropertyType< TDataType > propertyType, TDataType value) |
Sets the local value of a property type. | |
ObjectRef< TType > | tryCreateObjectRef (Class< TType > clazz) |
Tries to create an owning ObjectRef instance to this KanziObject. | |
Static Public Attributes | |
static final Metaclass | metaclass = ResourceDictionaryProxy.metaclass |
The Metaclass for the class. | |
Static Public Attributes inherited from ResourceDictionaryProxy | |
static final Metaclass | metaclass |
The Metaclass for the class. | |
Static Public Attributes inherited from Resource | |
static final Metaclass | metaclass |
The Metaclass for the class. | |
Static Public Attributes inherited from KanziObject | |
static final Metaclass | metaclass = new AbstractMetaclass("Kanzi.Object") |
The Metaclass for the class. | |
Additional Inherited Members | |
Static Public Member Functions inherited from ResourceDictionaryProxy | |
static< T extends KanziObject > ObjectRef< T > | create (Domain domain, String name) |
Creates a resource dictionary. | |
Public Attributes inherited from ResourceMetadata | |
AbstractMetaclass | metaclass = new AbstractMetaclass("Kanzi.Resource") |
Metaclass for Resource. | |
Public Attributes inherited from ResourceDictionaryMetadata | |
AbstractMetaclass | metaclass = new AbstractMetaclass("Kanzi.ResourceDictionary") |
Metaclass for ResourceDictionary. | |
A resource dictionary is a container that maps resource IDs to resources.
A node can refer to resources by setting resource IDs to resource ID properties. You can set a resource dictionary to the node, or to any of its parent nodes, to define which resources the node uses. You can use a resource dictionary to group similar resources to logical entity, such as themes or locales, and change a resource dictionary of a node to change multiple resources at the same time.
Use Node::acquireResource to get the resource from a resource dictionary of a node or from the resource dictionaries of its parent nodes.
A resource dictionary can map resource IDs to resources in these ways:
Use com.rightware.kanzi.ResourceDictionary#acquire(ResourceID)
and @tryAcquire functions to get a mapped resource regardless of the way a resource ID is mapped to a resource.
You can store nested resource dictionaries in a resource dictionary. When you are getting a resource from a resource dictionary and the resource dictionary cannot find the resource ID that you specify, the resource dictionary looks for the resource ID recursively in the nested resource dictionaries.
In a resource dictionary you can store resources without mapping a resource ID to them. In Kanzi such resources are called anonymous resources. You can get anonymous resources with com.rightware.kanzi.ResourceDictionary#iterateAnonymousResources()
.
ObjectRef< Resource > acquire | ( | ResourceID | key | ) |
Gets from the resource dictionary the resource with the resource ID that you pass to the function.
The function forwards the resource URL mappings to ResourceManager::acquireResource. Classes that derive from ResourceDictionary can override the behavior of acquire by implementing acquireOverride.
key | The resource ID of the resource that you want to get. |
com.rightware.kanzi.ResourceManager#acquireResource(String)
.ResourceManager.AcquireTask acquireAsync | ( | ResourceID | key, |
ResourceManager.AcquireTask.Callback | callback ) |
Asynchronously acquires a resource.
If the function cannot find a resource URL mapping, it does not launch an asynchronous task. Kanzi executes the callback only the next time when it executes callbacks, if there are no asynchronous task to launch.
key | The resource ID of the resource that you want to get. |
callback | The callback to execute when loading is complete. |
void add | ( | ResourceDictionary | resourceDictionary | ) |
Adds a nested resource dictionary to a resource dictionary.
You can add to multiple resource dictionaries the same resource dictionary as a nested resource dictionary. Do not form cycles with the nested resource dictionaries.
resourceDictionary | The nested resource dictionary that you want to add to the resource dictionary. |
void add | ( | ResourceID | key, |
Resource | resource ) |
Adds a resource ID to a resource mapping to a resource dictionary.
key | The resource ID to add. |
resource | The resource to map to the resource ID. |
void add | ( | ResourceID | key, |
String | url ) |
Adds a resource ID to a resource URL mapping to a resource dictionary.
key | The resource ID to add. |
url | The URL that points to the resource to map to the resource ID. |
Adds an anonymous resource to a resource dictionary.
resource | The anonymous resource that you want to add to the resource dictionary. |
ObjectRef< ResourceDictionary > clone | ( | ) |
Duplicates a resource dictionary.
When you duplicate a resource dictionary that contains nested resource dictionaries, the function creates a shallow copy: it copies the pointers to the nested resource dictionaries, not the contents of the nested resource dictionaries.
boolean contains | ( | ResourceID | key | ) |
Returns whether a resource dictionary contains a mapping for the resource ID that you pass to the function.
key | The resource ID for which you want to check whether there is a mapping in the resource dictionary. |
String find | ( | ResourceID | key | ) |
Resolves the mapping from the resource ID that you pass to the function to the URL of the resource.
This function ignores the direct resource ID to resource mappings.
key | The resource ID of the resource for which you want to get the URL. |
ResourceDictionary findDictionary | ( | String | name | ) |
Searches for a nested dictionary with the specified name and returns a pointer to it.
name | The name of the dictionary to find. |
Resource findStoredResource | ( | ResourceID | key | ) |
Finds an explicitly stored resource pointer from a dictionary.
Does not try to acquire a resource from the resource manager. To acquire a resource, use com.rightware.kanzi.ResourceDictionary#acquire(ResourceID)
.
key | The resource ID of the resource that you want to get. |
int getDictionaryCount | ( | ) |
Gets the number of nested resource dictionaries in a resource dictionary.
Returns an Iterable object that you can use to iterate the anonymous resources stored by this resource dictionary object.
Iterable< UrlMapPair > iterateUrls | ( | ) |
Returns an Iterable object that you can use to iterate elements of the URL mappings container.
The elements in the container are represented with the com.rightware.kanzi.ResourceDictionary.UrlMapPair
class.
void merge | ( | ResourceDictionary | preferredDictionary | ) |
Copies into this resource dictionary the contents of the resource dictionary that you pass to the function.
The function adds to this resource dictionary:
If there are duplicate values for the resource ID mappings, prefers the values from the resource directory that you pass to the function.
preferredDictionary | The resource dictionary that you want to merge to this resource dictionary. |
void remove | ( | ResourceID | key | ) |
Removes a resource ID mapping from a resource dictionary.
key | The resource ID that you want to remove. |
Removes an anonymous resource from the resource dictionary.
If the resource does not exist in a resource dictionary, the function does not do anything.
resource | The anonymous resource that you want to remove from the resource dictionary. |
Removes a nested resource dictionary from a resource dictionary.
index | The index of the nested resource dictionary that you want to remove. |
Iterable< ResourceDictionary > reverseIterateNestedResourceDictionaries | ( | ) |
Returns an Iterable object that you can use to iterate nested resource dictionary container in reversed order.