The information in a work area consists of a set of properties; a property
consists of a key-value-mode triple. The key-value pair represents the information
contained in the property; the key is a name by which the associated value
is retrieved. The mode determines whether the property can be removed or modified.
Property modes
There are four possible mode values
for properties, as shown in the following code example:
Code example:
The PropertyModeType definition public final class PropertyModeType {
public static final PropertyModeType normal;
public static final PropertyModeType read_only;
public static final PropertyModeType fixed_normal;
public static final PropertyModeType fixed_readonly;
};
A property's mode determines three things:
- Whether the value associated with the key can be modified
- Whether the property can be deleted
- Whether the mode associated with the key-value pair can be modified
The two read-only modes forbid changes to the information in the
property; the two fixed modes forbid deletion of the property.
The work area
service does not provide methods specifically for the purpose of modifying
the value of a key or the mode associated with a property. To change information
in a property, applications simply rewrite the information in the property;
this has the same effect as updating the information in the property. The
mode of a property governs the changes that can be made. Modifying key-value
pairs describes the restrictions each mode places on modifying the value and
deleting the property. Changing modes describes the restrictions on changing
the mode.
Changing modes
The mode associated with a property
can be changed only according to the restrictions of the original mode. The
read-only and fixed read-only properties do not permit modification of the
value or the mode. The fixed normal and fixed read-only modes do not allow
the property to be deleted. This set of restrictions leads to the following
permissible ways to change the mode of a property within the lifetime of a
work area:
- If the current mode is normal, it can be changed to any of the other three
modes: fixed normal, read-only, fixed read-only.
- If the current mode is fixed normal, it can be changed only to fixed read-only.
- If the current mode is read-only, it can be changed only by deleting the
property and re-creating it with the desired mode.
- If the current mode is fixed read-only, it cannot be changed.
- If the current mode is not normal, it cannot be changed to normal. If
a property is set as fixed normal and then reset as normal, the value is updated
but the mode remains fixed normal. If a property is set as fixed normal and
then reset as either read-only or fixed read-only, the value is updated and
the mode is changed to fixed read-only.
Note: The key, value, and mode of any property can be effectively
changed by terminating (completing) the work area in which the property was
created and creating a new work area. Applications can then insert new properties
into the work area. This is not precisely the same as changing the value in
the original work area, but some applications can use it as an equivalent
mechanism.