next up previous contents index
Next: Default Values Up: A Reference Model of Previous: Slot Value Inheritance and

The number of values in a slot or facet

A number of GFP operations support a number-of-values keyword argument. This is a means by which a GFP application can limit the number of slot or facet values retrieved or processed by the FRS. This is particularly important in FRSs that may perform significant computation in deriving inherited values, or for which the slot values reside in some slow tertiary storage medium. The number-of-values argument always defaults to :all. Number-of-values can take as its value either the keyword :all in which case all values that can be found (local or inherited as appropriate) will be returned. If this argument is a positive integer then no more values than this number will be returned. Value-returning GFP operations (as opposed to mapping or looping operations) that take the number-of-values return a second value which allows GFP applications to act appropriately in the event of a limited number of values being retrieved, for example by printing ellipses. The legal values for the second value are: nil, which indicates that there are known to be no more values, a positive integer, which indicates that there are the indicated number more values available, :more, which indicates that the FRS knows that there are more values, but does not know how many (this option will be used by FRSs for which this computation will be expensive), and finally :unknown, which indicates that the FRS is unable to determine whether there are any more values without performing extra (possibly expensive) computation. Note: No commitment is made concerning which values will be returned or processed when the client application restricts the number-of-values other than that if the client increases the value of this argument, the set of values returned will include all of the values previously returned.

  • Peter Karp