hpcflow.sdk.core.object_list.DotAccessObjectList#

class hpcflow.sdk.core.object_list.DotAccessObjectList(_objects, access_attribute, descriptor=None)#

Bases: ObjectList

Provide dot-notation access via an access attribute for the case where the access attribute uniquely identifies a single object.

Parameters:
  • _objects – The objects in the list.

  • access_attribute – The main attribute for selection and filtering. A unique property.

  • descriptor (str) – Descriptive name for the objects in the list.

Methods

add_object

Add an object to this list.

add_objects

Add multiple objects to the list.

from_json_like

Make an instance of this class from JSON (or YAML) data.

get

Get an object from this list that matches the given criteria.

get_all

Get all objects in this list that match the given criteria.

list_attrs

Get a tuple of the unique access-attribute values of the constituent objects.

to_dict

Serialize this object as a dictionary.

to_json_like

Serialize this object as an object structure that can be trivially converted to JSON.

add_object(obj, index=-1, skip_duplicates=False)#

Add an object to this list.

add_objects(objs, index=-1, skip_duplicates=False)#

Add multiple objects to the list.

classmethod from_json_like(json_like, shared_data=None)#

Make an instance of this class from JSON (or YAML) data.

Parameters:
  • json_like (Union[Dict, List]) – The data to deserialise.

  • shared_data (Optional[Dict[str, ObjectList]]) – Shared context data.

Return type:

The deserialised object.

get(access_attribute_value=None, **kwargs)#

Get an object from this list that matches the given criteria.

get_all(access_attribute_value=None, **kwargs)#

Get all objects in this list that match the given criteria.

list_attrs()#

Get a tuple of the unique access-attribute values of the constituent objects.

to_dict()#

Serialize this object as a dictionary.

to_json_like(dct=None, shared_data=None, exclude=None, path=None)#

Serialize this object as an object structure that can be trivially converted to JSON. Note that YAML can also be produced from the result of this method; it just requires a different final serialization step.