# mgPropertyValueConstraintList.h File Reference

Include dependency graph for mgPropertyValueConstraintList.h:

This graph shows which files directly or indirectly include this file:

## Namespaces
namespace | OSGeo
namespace | OSGeo::FDO
namespace | OSGeo::FDO::Expression
namespace | OSGeo::FDO::Schema
## Classes
class | OSGeo::FDO::Schema::PropertyValueConstraintList
| PropertyValueConstraintList is used to specify a list of allowed values for a particular property. It can be used for all data property types except for Boolean, BLOB, or CLOB. This constraint is represented by a list of values of the same type as the corresponding data property. The list cannot be empty. The list could be a single value. While that may not seem very useful it could serve as a temporary way to enforce a single value for a property, e.g. for a particular customer, Parcel.State is always ‘CA? In this case, the definer of the property definition probably should also set the default value to be the same, unless it can be null. The list does not need to be ordered. However, a provider may choose to reorder the list so the list that is returned when a user gets the definition of this constraint for a property may be different than the order that was given when defined. E.g. defined as (12, 8, 24), but returned as (8, 12, 24). If the list has duplicate values, the provider may choose to eliminate duplicates from the list. If the data property definition allows nulls, a null value is considered as being valid regardless of this list of valid values. The list of valid values should not include the null value itself, but leave the specification of whether null is allowed to the null value constraint. If the data property definition includes a non-null default value, then that value should be one of the values in the list. If both a valid values list constraint and a unique constraint on the same property are included, then the side effect is that there will be an upper limit of the number of objects of that class that have non-null values for the property. More...