XAO::DO::FS::Hash is a core data class for XAO::FS.
my $data=XAO::Objects->new(objname => 'FS::Hash');
$data->put(aaa => 123);
This is a core data class for XAO Foundation Server (see XAO::FS). All data classes are based on FS::Hash and for that matter FS::Hash can be considered pure virtual class which you would never want to use directly.
A data object can contain arbitrary number of named single-value parameters and arbitrary number of list objects. Whenever you need more then one count of something you will have to create a list object to store those things. For example if you only have one shipping address per customer - you can store it as a couple of properties in Customer object, but if you want a customer to have an address book - create list object named Addresses and store addresses inside of it.
Any data object at any given time can be in either attached state (stored in some List and connected to the database) or in detached state (when it is not connected to the database layer all manipulations on object's properties only change memory).
Detached data object can be at any time re-attached to a container or stored under different ID. That allows a developer to have increased performance when required by detaching an object and then using in-memory copy.
When an object is attached all data manipulations are done directly on database and never cached. Reasonable measures should be taken by developer to ensure that it is safe to re-attach an object to the database because the content of the object would replace current database content. Object server does not try to map any changes that you make to the database back to the detached object. Once detached the object is on its own.
Here is the entire API that is available in all objects based on the FS::Hash class. It is not recommended to override or extend any of these methods unless stated otherwise in method description. Methods are listed in alphabetical order.