[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

KeySortedList

inherits from ObjectList
inherits from SortedList
inherits from HasSortKeys

Object <- FixedList <- ObjectList <- KeySortedList



Operations

Get list of all operations

AddAt
Clear
CompareItemsBySortKey
Init
ObjectAttributeAt
RemoveAt
Reverse
SecondarySortKeys
SwapElements


Attributes

Get list of all attributes

Class KeySortedList defines no new attributes.


Fields

Field Type
KeySortedList: sortKey: OperationNumber
cachedSizes: IntegerList
cachedDescriptions: ObjectList
reverseOrder: Boolean


Instance template

instance KeySortedList tag;
        sortKey: nilOperation;
    cachedSizes: nilObject;
cachedDescriptions: nilObject;
   reverseOrder: false;
end instance;

Class definition

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;