cz.cuni.versatile.api.relops
Interface TotalOrder

All Superinterfaces:
RelationalOperator

public interface TotalOrder
extends RelationalOperator

TotalOrder operator constructs a total order as an extension of a given source OrderProperty. By extension we mean that the resulting total order must be a super-set of the source (partial) order thus preserving the existing source order. In case the source order property is already a total order, the operator should return the source property.

Note: A generic implementation of this interface producing a meaningful total order for any given source property is hardly possible. We assume property-specific implementations of this interface are used in most circumstances, however, a default generic implementation can be provided to ensure a deterministic total order exists for all properties , even though there is no particular semantics associated to it.

Author:
Jaroslav Gergic
See Also:
OrderProperty.isTotalOrder()

Method Summary
 OrderProperty totalOrder(OrderProperty source)
          Returns an OrderProperty which a total order extending the source OrderProperty.
 

Method Detail

totalOrder

public OrderProperty totalOrder(OrderProperty source)
Returns an OrderProperty which a total order extending the source OrderProperty.

Parameters:
source - a source order property