# Overriding Property Values

## Inheritance of Attribute-level Properties

You can set custom properties on Entity attributes, View Object

For example, assume you have a `Dept` Entity Object with an attribute `Dname` of type (domain) `nameLength`. The purpose of the `nameLength` domain is to limit the length of the department name to a string of less than 10 characters. If you want to allow departments with longer names, you can define a custom property on the `Dname` attribute to override the value of `10`; for example, a string length of less than 15.

### Setting Multiple Levels of Properties

Custom property values set on View Object attributes override custom property values set on Entity Object attributes and Domains. Thus, you can design multiple levels of property inheritance. For example, a View Object can have an attribute `Dname` of type (domain) `nameLength` which will inherit the restriction on the length of the department name to a string of less than 10 characters. The View Object can be defined with a custom property to override the value of `10` provided by the `nameLength` domain; for example, a string length of less than 20. Note that the custom property on the `Dname` attribute in the View Object will also override the custom property value defined on the `Dname` attribute for the `Dept` Entity Object.