# Class: DataOperation

## DataOperation

#### new DataOperation()

Represents

Source:
  - data/service/data-operation.js, line 9

### Extends

- external:Montage

### Members

#### changes

Source:
  - data/service/data-operation.js, line 127

#### context :Object

##### Type:

- Object

Source:
  - data/service/data-operation.js, line 97

#### data :Object

##### Type:

- Object

Source:
  - data/service/data-operation.js, line 116

#### id :number

##### Type:

- number

Source:
  - data/service/data-operation.js, line 34

#### index :number

A number that is greater than the index values of all operations created before this one in the current application session and less than the index values of all operations created after this one in the current application session. This is initialized when an operation is created to a number that is zero when the application starts up and then automatically incremented. This will provide an appropriate value for this property, and if this value is then changed, care should be taken to ensure it is changed to a value that also satisfies the conditions above. This can be used in conjunction with time to order operations according to when they were created: An operation will have been created before another operation if and only if the operation's time is before the other's time, or if the times are equal and the operation's index is before the other's index. Assuming it takes more than a millisecond to restart an application or to switch between running instance of an application, it will be impossible for two operations to have both the same `time` value and the same `index` value, so sorting operations as described above will correctly sort them according to when they were created.

##### Type:

- number

Source:
  - data/service/data-operation.js, line 90

#### lastModified

Source:
  - data/service/data-operation.js, line 139

#### time :number

A number used to order operations according to when they were created. This is initialized when an operation is created to the value of Date.now(). The value can then be changed, but it should only be changed to values returned by `Date.now()`. Two operations can have the same `time` value if they were created within a millisecond of each other, and if so the operations' index can be used to determine which one was created first.

##### Type:

- number

Source:
  - data/service/data-operation.js, line 60

#### type :DataOperation.Type.CREATE|DataOperation.Type.READ|DataOperation.Type.UPDATE|DataOperation.Type.DELETE

##### Type:

- DataOperation.Type.CREATE | DataOperation.Type.READ | DataOperation.Type.UPDATE | DataOperation.Type.DELETE

Source:
  - data/service/data-operation.js, line 41