CheckLevel - Check level for properties
The check level for properties is a sort of guide line for users and validation procedures. ODABA supports validation procedures based on check level definitions, which can be extended by user check actions.
Standard check procedures simply check, whether mandatory fields are filled. An elementary attribute is considered as filled, when it's value differs from its initial value (if there is any) or when it is empty. Complex attributes are considered as filled, when all mandatory attributes (and references) are filled or when at least one attribute is filled in case that the complex data types does not refer to mandatory properties.
References and relationships are considered as filled, when they refer to at least one instance.
Enumarators overview
- CL_automatic
(4) - Automatic property
- CL_mandatory
(3) - Mandatory property
- CL_mandatory_valid
(6) - Property is mandatory and must be valid
- CL_optional
(1) - Optional property
- CL_suggested
(2) - Suggested property
- CL_undefined
(0) - Check level is undefined
- CL_valid
(5) - Valid property
Enumerator details
-
CL_undefined - Check level is undefined
This is the initial value, which should never be used, when a check model has been defined.
Code: 0
to list -
CL_optional - Optional property
Optional properties need not to be defined and are usually considered as sort of extension in an object specification. Thus, optional is more weak than suggested and should be used only, when the content of the property is really not very important.
Code: 1
to list -
CL_suggested - Suggested property
The property is suggested to be filled (for references and relationships it means that the property refers to at least one instance.
Code: 2
to list -
CL_mandatory - Mandatory property
Mandatory properties are considered as valid, when they are filled. Empty mandatory properties are considered as erroneous (logical consistency level) but can be stored to the database.
Code: 3
to list -
CL_automatic - Automatic property
Automatic properties are those, which are filled by the system (as inverse references) or transient fields, which will be automatically computed. User should not be able to enter data in automatic fields.
Code: 4
to list -
CL_valid - Valid property
For references and relationships valid implies, that all existing referenced instances are valid, i.e. all mandatory fields of referenced instances are filled and valid references are valid, too. Valid does not require existing instances for the reference or relationship as mandatory valid does.
Code: 5
to list -
CL_mandatory_valid - Property is mandatory and must be valid
Usually, there is no difference between mandatory and mandatory valid. For references and relationships, however, mandatory valid implies, that at least on instance is referenced and that all referenced instances are valid, i.e. all mandatory fields are filled and valid references are valid, too.
Code: 6
to list