# Class: DataPropertyDescriptor

## DataPropertyDescriptor

#### new DataPropertyDescriptor()

Extend PropertyDescriptor to describes a property of data objects of a certain type.

Deprecated:
  - Yes
Source:
  - data/model/data-property-descriptor.js, line 11

### Extends

- PropertyDescriptor

### Members

#### cardinality :number

Cardinality of the property descriptor. The Cardinality of an property descriptor is the number of values that can be stored. A cardinality of one means that only one object can be stored. Only positive values are legal. A value of infinity means that any number of values can be stored.

##### Type:

- number

Inherited From:
  - PropertyDescriptor#cardinality
Default Value:
  - 1
Source:
  - core/meta/property-descriptor.js, line 260

#### collectionValueType :string

##### Type:

- string

Inherited From:
  - PropertyDescriptor#collectionValueType
Source:
  - core/meta/property-descriptor.js, line 339

#### definition :string

Definition can be used to express a property as the result of evaluating an expressionAn example would be to flatten/traverse two properties across two objects to make itscontent accessible as a new property name. For example, in a many to many relationalstyle, a Movie would have a toDirector property to a "DirectorRole" which itself wouldpoint through a toTalent property to the actual Person. A "director" property definitionwould then be "toDirector.toTalent"TODO: It is likely that if a property has a definition, it should return true to isDerivedand false to serializable

##### Type:

- string

Inherited From:
  - PropertyDescriptor#definition
Source:
  - core/meta/property-descriptor.js, line 322

#### denyDelete :boolean

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#denyDelete
Default Value:
  - false
Source:
  - core/meta/property-descriptor.js, line 276

#### enumValues :Array

List of values for enumerated value types

##### Type:

- Array

Inherited From:
  - PropertyDescriptor#enumValues
Source:
  - core/meta/property-descriptor.js, line 393

#### (readonly) identifier :string

The identifier is the name of the descriptor, dot, the name of the property descriptor, and is used to make the serialization of property descriptors more readable.

##### Type:

- string

Inherited From:
  - PropertyDescriptor#identifier
Source:
  - core/meta/property-descriptor.js, line 240

#### (readonly) isAssociationBlueprint :boolean

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#isAssociationBlueprint
Deprecated:
  - Yes
Default Value:
  - false
Source:
  - core/meta/property-descriptor.js, line 438

#### isDerived :boolean

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#isDerived
Default Value:
  - false
Source:
  - core/meta/property-descriptor.js, line 304

#### isGlobal :boolean

##### Type:

- boolean

Source:
  - data/model/data-property-descriptor.js, line 19

#### isOptional :boolean

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#isOptional
Source:
  - data/model/property-descriptor.js, line 21

#### isRelationship :boolean

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#isRelationship
Source:
  - data/model/property-descriptor.js, line 14

#### (readonly) isToMany :boolean

Returns true if the cardinality is more than one.

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#isToMany
Default Value:
  - false
Source:
  - core/meta/property-descriptor.js, line 294

#### mandatory :boolean

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#mandatory
Default Value:
  - false
Source:
  - core/meta/property-descriptor.js, line 268

#### (readonly) name :string

Name of the object. The name is used to define the property on the object.

##### Type:

- string

Inherited From:
  - PropertyDescriptor#name
Source:
  - core/meta/property-descriptor.js, line 226

#### owner

Component description attached to this property descriptor.

Inherited From:
  - PropertyDescriptor#owner
Source:
  - core/meta/property-descriptor.js, line 210

#### readOnly :boolean

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#readOnly
Default Value:
  - false
Source:
  - core/meta/property-descriptor.js, line 284

#### serializable :boolean

possible values are: "reference" | "value" | "auto" | true | false,

##### Type:

- boolean

Inherited From:
  - PropertyDescriptor#serializable
Default Value:
  - false
Source:
  - core/meta/property-descriptor.js, line 423

#### valueDescriptor :string

Promise for the descriptor targeted by this association. **Note**: The setter expects an actual descriptor but the getter will return a promise.

##### Type:

- string

Inherited From:
  - PropertyDescriptor#valueDescriptor
Source:
  - core/meta/property-descriptor.js, line 364

#### valueObjectModuleId :string

##### Type:

- string

Inherited From:
  - PropertyDescriptor#valueObjectModuleId
Source:
  - core/meta/property-descriptor.js, line 353

#### valueObjectPrototypeName :string

##### Type:

- string

Inherited From:
  - PropertyDescriptor#valueObjectPrototypeName
Source:
  - core/meta/property-descriptor.js, line 346

#### valueType :string

TODO: This is semantically similar to valueDescriptorWe should check if valueDescriptor can do the same job and eliminatethis.

##### Type:

- string

Inherited From:
  - PropertyDescriptor#valueType
Source:
  - core/meta/property-descriptor.js, line 332

### Methods

#### initWithNameBlueprintAndCardinality(name, objectDescriptor, cardinality)

Initialize a newly allocated property descriptor.

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | name of the property descriptor to create
`objectDescriptor` | ObjectDescriptor |
`cardinality` | number | name of the property descriptor to create

Inherited From:
  - PropertyDescriptor#initWithNameBlueprintAndCardinality
Deprecated:
  - Yes
Source:
  - core/meta/property-descriptor.js, line 84

##### Returns:

itself

#### initWithNameObjectDescriptorAndCardinality(name, objectDescriptor, cardinality)

Initialize a newly allocated property descriptor.

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | name of the property descriptor to create
`objectDescriptor` | ObjectDescriptor |
`cardinality` | number | name of the property descriptor to create

Inherited From:
  - PropertyDescriptor#initWithNameObjectDescriptorAndCardinality
Source:
  - core/meta/property-descriptor.js, line 66

##### Returns:

itself