You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of the physical table's interface exposes methods for querying the table's availability. Basic physical tables often defer these queries to their underlying Availability objects. However, there are also times when the physical table's underlying Availability is directly accessed and used. This occurs when creating ConstrainedTable objects. ConstrainedTable freezes its availability by directly accessing its physical table's underlying availability and storing final copies of the results of queries to the Availability object.
This behavior makes creating decorators for physical tables somewhat unintuitive. The decorator wants to be able to defer availability queries to the underlying physical table and simply annotate the results. However, since the physical table's Availability object can also be extracted and queried, the table decorator class also needs an Availability decorator to apply it's transforms to the target physical table's Availability object. Because of this we now require two decorator classes that each have almost duplicate functionality but are unable to defer to each other's implementation, because it opens up risk of incorrect behavior (i.e. Availability deferring to the table decorator, even though it should be based on the target table's frozen Availability).
The text was updated successfully, but these errors were encountered:
Part of the physical table's interface exposes methods for querying the table's availability. Basic physical tables often defer these queries to their underlying
Availability
objects. However, there are also times when the physical table's underlyingAvailability
is directly accessed and used. This occurs when creatingConstrainedTable
objects.ConstrainedTable
freezes its availability by directly accessing its physical table's underlying availability and storing final copies of the results of queries to theAvailability
object.This behavior makes creating decorators for physical tables somewhat unintuitive. The decorator wants to be able to defer availability queries to the underlying physical table and simply annotate the results. However, since the physical table's
Availability
object can also be extracted and queried, the table decorator class also needs anAvailability
decorator to apply it's transforms to the target physical table'sAvailability
object. Because of this we now require two decorator classes that each have almost duplicate functionality but are unable to defer to each other's implementation, because it opens up risk of incorrect behavior (i.e.Availability
deferring to the table decorator, even though it should be based on the target table's frozenAvailability
).The text was updated successfully, but these errors were encountered: