OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library observe.src.change_record; | 5 library observable.src.property_change_record; |
6 | 6 |
7 import 'package:observe/observe.dart'; | 7 import 'change_record.dart'; |
8 | 8 |
9 | 9 /// A change record to a field of an [Observable] object. |
10 /// Records a change to an [Observable]. | |
11 // TODO(jmesserly): remove this type | |
12 abstract class ChangeRecord {} | |
13 | |
14 /// A change record to a field of an observable object. | |
15 class PropertyChangeRecord<T> extends ChangeRecord { | 10 class PropertyChangeRecord<T> extends ChangeRecord { |
16 /// The object that changed. | 11 /// The object that changed. |
17 final object; | 12 final Object object; |
18 | 13 |
19 /// The name of the property that changed. | 14 /// The name of the property that changed. |
20 final Symbol name; | 15 final Symbol name; |
21 | 16 |
22 /// The previous value of the property. | 17 /// The previous value of the property. |
23 final T oldValue; | 18 final T oldValue; |
24 | 19 |
25 /// The new value of the property. | 20 /// The new value of the property. |
26 final T newValue; | 21 final T newValue; |
27 | 22 |
28 PropertyChangeRecord(this.object, this.name, this.oldValue, this.newValue); | 23 PropertyChangeRecord(this.object, this.name, this.oldValue, this.newValue); |
29 | 24 |
30 String toString() => | 25 String toString() => |
31 '#<PropertyChangeRecord $name from: $oldValue to: $newValue>'; | 26 '#<PropertyChangeRecord $name from: $oldValue to: $newValue>'; |
32 } | 27 } |
OLD | NEW |