swarm.collections
Class ListShufflerImpl

java.lang.Object
  |
  +--swarm.BaseImpl
        |
        +--swarm.collections.ListShufflerImpl

public class ListShufflerImpl
extends BaseImpl
implements Create, CreateS, Drop, DropS, ListShufflerS, ListShuffler

A class to randomize the order of a given Swarm List. ListShuffler randomizes the order of the elements in a List; either the whole list or the num lowest elements. The list must be supplied. An uniform distribution can be supplied, or the system- supplied uniformUnsRand is used. The algorithm is from Knuth. All these methods modify the underlying collection, so any indexes should always be regenerated.


Constructor Summary
ListShufflerImpl()
           
ListShufflerImpl(Zone aZone)
          The create: message creates a new instance of a type with default options.
ListShufflerImpl(Zone aZone, java.lang.Object dist)
          The create:setUniformRandom method creates the Shuffler and connects the supplied distribution object.
 
Methods implemented by this class for interface swarm.defobj.Drop
drop
 
Methods implemented by this class for interface swarm.collections.ListShuffler
shufflePartialList$Num, shuffleWholeList
 
Methods implemented by this class for interface swarm.defobj.DefinedObject
compare, describe, describeID, getDisplayName, getTypeName, getZone, perform, perform$with, perform$with$with, perform$with$with$with, respondsTo, setDisplayName, xfprint, xfprintid, xprint, xprintid
 
Methods implemented by this class for interface swarm.defobj.GetName
getName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListShufflerImpl

public ListShufflerImpl()

ListShufflerImpl

public ListShufflerImpl(Zone aZone,
                        java.lang.Object dist)
The create:setUniformRandom method creates the Shuffler and connects the supplied distribution object.

ListShufflerImpl

public ListShufflerImpl(Zone aZone)
The create: message creates a new instance of a type with default options. The zone argument specifies the source of storage for the new object. The receiving object of this message is a previously defined type object. The message is declared as a class message (with a + declaration tag) to indicate that the message is accepted only by the type object itself rather than an already created instance of the type (which a - declaration tag otherwise defines). The create: message returns the new object just created. This object is an instance of some class selected to implement the type. The class which a type selects to implement an object may be obtained by the getClass message, but is not otherwise visible to the calling program. A caller never refers to any class name when creating objects using these messages, only to type names, which are automatically published as global constants from any @protocol declaration.