swarm.defobj
Interface CustomizeS
- All Known Subinterfaces:
- ActionGroup, ActionGroupC, ActionGroupS, ActivationOrder, ActivationOrderC, ActivationOrderS, ActiveGraph, ActiveGraphC, ActiveGraphS, ActiveOutFile, ActiveOutFileC, ActiveOutFileS, ActivityControl, ActivityControlC, ActivityControlS, Archiver, ArchiverC, ArchiverS, Array, ArrayC, ArrayS, Averager, AveragerC, AveragerS, BehaviorPhase, BehaviorPhaseC, BehaviorPhaseS, BernoulliDist, BernoulliDistC, BernoulliDistS, BooleanDistribution, BooleanDistributionC, BooleanDistributionS, C2TAUS1gen, C2TAUS1genC, C2TAUS1genS, C2TAUS2gen, C2TAUS2genC, C2TAUS2genS, C2TAUS3gen, C2TAUS3genC, C2TAUS3genS, C2TAUSgen, C2TAUSgenC, C2TAUSgenS, Ca2d, Ca2dC, Ca2dS, Collection, CollectionC, CollectionS, Colormap, ColormapC, ColormapS, CompoundAction, CompoundActionC, CompoundActionS, ConcurrentGroup, ConcurrentGroupC, ConcurrentGroupS, ConcurrentSchedule, ConcurrentScheduleC, ConcurrentScheduleS, ControlPanel, ControlPanelC, ControlPanelS, ConwayLife2d, ConwayLife2dC, ConwayLife2dS, Create, CreateC, CreatedClass, CreatedClassC, CreatedClassS, CreateS, DblBuffer2d, DblBuffer2dC, DblBuffer2dS, DefaultProbeMap, DefaultProbeMapC, DefaultProbeMapS, Diffuse2d, Diffuse2dC, Diffuse2dS, Discrete2d, Discrete2dC, Discrete2dS, DoubleDistribution, DoubleDistributionC, DoubleDistributionS, Entropy, EntropyC, EntropyS, Error, ErrorC, ErrorS, EventType, EventTypeC, EventTypeS, ExponentialDist, ExponentialDistC, ExponentialDistS, EZBin, EZBinC, EZBinS, EZDistribution, EZDistributionC, EZDistributionS, EZGraph, EZGraphC, EZGraphS, EZSequence, EZSequenceC, EZSequenceS, FArguments, FArgumentsC, FArgumentsS, FCall, FCallC, FCallS, FunctionGraph, FunctionGraphC, FunctionGraphS, GammaDist, GammaDistC, GammaDistS, Grid2d, Grid2dC, Grid2dS, GUISwarm, GUISwarmC, GUISwarmS, HDF5, HDF5Archiver, HDF5ArchiverC, HDF5ArchiverS, HDF5C, HDF5S, Int2dFiler, Int2dFilerC, Int2dFilerS, IntegerDistribution, IntegerDistributionC, IntegerDistributionS, KeyedCollection, KeyedCollectionC, KeyedCollectionS, LispArchiver, LispArchiverC, LispArchiverS, List, ListC, ListS, ListShuffler, ListShufflerC, ListShufflerS, LogNormalDist, LogNormalDistC, LogNormalDistS, Map, MapC, MapS, MessageProbe, MessageProbeC, MessageProbeS, MT19937gen, MT19937genC, MT19937genS, Normal, NormalC, NormalDist, NormalDistC, NormalDistS, NormalS, NSelect, NSelectC, NSelectS, Object2dDisplay, Object2dDisplayC, Object2dDisplayS, Permutation, PermutationC, PermutationItem, PermutationItemC, PermutationItemS, PermutationS, PMMLCG1gen, PMMLCG1genC, PMMLCG1genS, PMMLCGgen, PMMLCGgenC, PMMLCGgenS, ProbabilityDistribution, ProbabilityDistributionC, ProbabilityDistributionS, Probe, ProbeC, ProbeDisplayManager, ProbeDisplayManagerC, ProbeDisplayManagerS, ProbeLibrary, ProbeLibraryC, ProbeLibraryS, ProbeMap, ProbeMapC, ProbeMapS, ProbeS, PSWBgen, PSWBgenC, PSWBgenS, QSort, QSortC, QSortS, RandomBitDist, RandomBitDistC, RandomBitDistS, Schedule, ScheduleC, ScheduleS, SimpleRandomGenerator, SimpleRandomGeneratorC, SimpleRandomGeneratorS, String, StringC, StringS, Swarm, SwarmC, SwarmObject, SwarmObjectC, SwarmObjectS, SwarmProcess, SwarmProcessC, SwarmProcessS, SwarmS, Symbol, SymbolC, SymbolS, UName, UNameC, UNameS, UniformDoubleDist, UniformDoubleDistC, UniformDoubleDistS, UniformIntegerDist, UniformIntegerDistC, UniformIntegerDistS, UniformUnsignedDist, UniformUnsignedDistC, UniformUnsignedDistS, UnsignedDistribution, UnsignedDistributionC, UnsignedDistributionS, Value2dDisplay, Value2dDisplayC, Value2dDisplayS, VarProbe, VarProbeC, VarProbeS, Warning, WarningC, WarningS, Zone, ZoneC, ZoneS
- public abstract interface CustomizeS
Create-phase customization..
Some types accept create-time messages not only when creating a new instance, but to customize a new version of the type itself. Objects created from a customized type will have all options preset that create-time messages sent to the customized type object have already set. If many objects all need the same create-time options, it is often simpler (and can also be faster) to create a customized version of a type first, and then create further instances from that type. Customizing a type object does not modify the original type object, but instead creates a new type object that has the customizations built-in. A create: message on the new type object creates a new instance as if the same sequence of create-time messages had been sent to the original type object using createBegin: and createEnd. A type is customized by bracketing the sequence of create-time messages not with the createBegin: and createEnd messages used to create a new instance, but with customizeBegin: and customizeEnd messages instead. Whether a customized version of a type can be created depends on the implementation of the type itself. If a type does not support customization, a customizeBegin: message on the type raises an error. All types defined by an @protocol declaration may be relied on to support at least one cycle of customization to create a new type object. Whether an already customized type object (returned by customizeEnd) supports a further cycle of customization (by another sequence of customizeBegin:/customizeEnd) depends on the implementation of the original starting type. A type should not be relied on to support more than one cycle of customization unless it is specifically documented to do so.