Object <- FixedList <- ObjectList <- KeySortedList |
|
|
AddAt Clear CompareItemsBySortKey Init ObjectAttributeAt RemoveAt Reverse SecondarySortKeys SwapElements |
Class KeySortedList defines no new attributes.
Fields
| Field | Type | |
|---|---|---|
| KeySortedList: | sortKey: | OperationNumber |
| cachedSizes: | IntegerList | |
| cachedDescriptions: | ObjectList | |
| reverseOrder: | Boolean |
instance KeySortedList tag; sortKey: nilOperation; cachedSizes: nilObject; cachedDescriptions: nilObject; reverseOrder: false; end instance;
Define Class KeySortedList; inherits from ObjectList, SortedList, HasSortKeys; field sortKey: OperationNumber, getter, setter; field cachedSizes: IntegerList; // parallel list of sizes used to make sorting by size much faster field cachedDescriptions: ObjectList; // parallel list of descriptions used to make sorting by description much faster field reverseOrder: Boolean, getter, setter; overrides CompareItemsBySortKey; // implements sorting for operation_TinyImage, // operation_ContentDescription, operation_DateText, // and operation_SizeInKBytes overrides SecondarySortKeys; // fills in list with fixed order: operation_TinyImage, // operation_ContentDescription, operation_DateText, // and operation_SizeInKBytes overrides AddAt; // overridden to cache size of new elemeent overrides Clear; // overridden to clear list of cached sizes overrides Init; // overridden to set up cached size list overrides RemoveAt; // overridden to remove cached size of removed element overrides Reverse; // overridden to reverse cached size list as well as self overrides SwapElements; // overridden to swap cached sizes as well as elements overrides ObjectAttributeAt; // overridden to return cached sizes for SizeInKBytess end class;