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.