Index | PAL Intro | Commands | Registers | Indices | Stack | Macros | Classes | Attributes | Errors
obj/def - Define a new object edit buffer
obj/def write <, write ... >
Initialises new object edit buffers and stores a reference to the buffers in each subsequent write register. The buffers will initially be empty.
Object edit buffers are used to collect together a group of commands that can be committed to nexus objects. These commands are:
Once an edit buffer has been prepared with the appropriate commands, a number of actions may be requested:
Class add Add a new class to an object. See class_add(5). Class delete Remove a class from an object. See class_del(5). Attribute add Add a new attribute value to an object. See attr_add(5). Attribute delete Remove an attribute from an object. See attr_del(5). Attribute modify Replace an attribute in an object. See attr_mod(5). Multi-value attribute add Add multiple attribute values to an object. See attr_mvmod(5). Multi-value attribute delete Remove multiple attribute values from an object. See attr_mvdel(5). Multi-value attribute modify Find and replace multiple attribute values within an object. See attr_mvmod(5).
Commit Commit changes to a new or existing nexus object. See obj_commit(5). Clone Clone the edit buffer so that it may be committed to more than one object. An edit buffer cannot be cloned after it has been committed. See obj_clone(5). Clear Clear the edit buffer and release any memory that was claimed by it. This is required only if the buffer is not going to be committed. See obj_clear(5).
The following demonstrates the use of edit buffers for modifying nexus objects.
.main % Initialise an empty edit buffer obj/def P0
% Add a class class/add P0, [psErrorType]
% Add an attribute attr/add P0, [description], [No such user or group]
% Commit to nexus obj/commit [NoSuchUser], P0
pal_commands(5), pal_registers(5), obj_clone(5), obj_edit(5), obj_commit(5), obj_clear(5), class_add(5), class_del(5), attr_add(5), attr_del(5), attr_mod(5), attr_mvadd(5), attr_mvdel(5), attr_mvmod(5),
PROSE Assembly Language at prose.sourceforge.net.
Copyright (c) 2002-2016 Mark R. Bannister <cambridge@users.sourceforge.net>.
This is free software and can be downloaded from prose.sourceforge.net; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
PAL 1.0 | obj_def (5) | 29 April 2016 |