HashThreeMap
Object Hierarchy:
Description:
A class implementing Collection to store references to child DomElement of Collection.element, using three attributes in items as primary, secondary tertiary keys or MappeableElementThreeKey.get_map_pkey, MappeableElementThreeKey.get_map_skey and MappeableElementThreeKey.get_map_tkey methods if MappeableElementThreeKey are implemented by items to be added. All keys should be defined in node, otherwise it is not added; but keeps it as a child node of actual Collection.element.
If GXml.Element to be added is of type
Collection.items_type and implements
MappeableElementThreeKey, you should set
attribute_primary_key
, attribute_secondary_key
and attribute_third_key
to null in order to use returned value
of MappeableElementThreeKey.get_map_pkey,
MappeableElementThreeKey.get_map_skey and
MappeableElementThreeKey.get_map_tkey as keys.
public class YourObject : GXml.Element, MappeableElementThreeKey {
[Description (nick="::Name")]
public string name { get; set; }
public string code { get; set; }
public string category { get; set; }
public string get_map_primary_key () { return code; }
public string get_map_secondary_key () { return name; }
public string get_map_third_key () { return category; }
}
public class YourList : HashThreeMap {
construct {
try { initialize_with (typeof (YourObject)); }
catch (GLib.Error e) {
warning ("Initialization error for collection type: %s : %s"
.printf (get_type ().name(), e.message));
}
}
}