ptolemy.kernel.util
Interface Changeable

All Known Implementing Classes:
Absent, AbsoluteValue, AbsoluteValue, AbstractActionsAttribute, AbstractActionsAttribute, AbstractActionsAttribute, AbstractCalInterpreter, AbstractPlaceableActor, AbstractSettableAttribute, AbstractTextAttribute, Accumulator, Accumulator, Accumulator, Accumulator, Action, Action, ActionGUIProperty, ActionsAttribute, ActorGraphTableau, ActorGraphTableau.Factory, ActorNameIcon, ActorRecursion, AdaptiveMedian, AddSubtract, AddSubtract, AddSubtract, AddSubtract, AddSubtract, AnnotationEditorFactory, AnythingToDouble, ApplyFilterOverArray, ApplyFunction, ApplyFunctionOverSequence, ArrayAppend, ArrayAppend, ArrayAverage, ArrayAverage, ArrayContains, ArrayElement, ArrayElement, ArrayElementAsMatrix, ArrayElementAsMatrix, ArrayExtract, ArrayExtract, ArrayLength, ArrayLength, ArrayLevelCrossing, ArrayLevelCrossing, ArrayMaximum, ArrayMaximum, ArrayMinimum, ArrayMinimum, ArrayOfRecordsConfigureFactory, ArrayOfRecordsExporter, ArrayOfRecordsRecorder, ArrayPeakSearch, ArrayPeakSearch, ArrayPeakSearch, ArrayPlotter, ArrayPlotterXY, ArrayRemoveElement, ArraySort, ArraySum, ArrayToElements, ArrayToElements, ArrayToSequence, ArrayToSequence, ArrowAttribute, ArrowKeyProbe, ArrowKeySensor, AtomicActor, AtomicActorMatcher, AtomicWirelessChannel, Attribute, AttributeExpressionAttribute, AttributeMatcher, AttributeValueAttribute, AttributeValueIcon, AudioCapture, AudioPlayer, AudioPlayer, AudioPlayer, AudioReadBuffer, AudioReader, AudioReader, AudioSDLActor, AudioWriteBuffer, AudioWriter, AudioWriter, Autocorrelation, Autocorrelation, Average, Average, Average, AverageOverTime, BackDropQueue, Backtrack, BackwardEulerSolver, BandlimitedNoise, BarGraph, Barrier, Barrier, BaseSDFScheduler, BaseUnit, Bernoulli, Bernoulli, BinarySwitch, BitsToInt, BitsToInt, BooleanMultiplexor, BooleanMultiplexor, BooleanMultiplexor, BooleanSelect, BooleanSelect, BooleanSelect, BooleanSwitch, BooleanSwitch, BooleanSwitch, BooleanToAnything, BooleanToAnything, BoundedBufferNondeterministicDelay, BoundedBufferTimedDelay, Box2D, Box3D, BoxedValueIcon, BoxedValuesIcon, BrowserEffigy, BrowserEffigy.Factory, BrowserTableau, BrowserTableau.Factory, Buffer, Buffer, BusAssembler, BusDisassembler, Button, ButtonTime, CachedSDFScheduler, CalInterpreter, CartesianToComplex, CartesianToComplex, CartesianToPolar, CartesianToPolar, Case, Case, Case, Case, Case, CaseDirector, CaseDirector, CaseDirector, CaseGraphTableau, CaseGraphTableau, CaseGraphTableau.Factory, CaseGraphTableau.Factory, CausalityMarker, CCodeGenerator, CCodeGeneratorHelper, ChannelPort, CheckBoxStyle, ChoiceParameter, ChoiceStyle, Chop, Chop, Chop, CIActor, CIDirector, CipherActor, CircularSweep3D, ClassWrapper, ClipPlayer, Clock, Clock, ClockSensor, Clone, CodegenActor, CodegenActor, CodeGenerator, CodeGeneratorGUIFactory, CodeGeneratorHelper, CollisionDetector, ColorAttribute, ColorFinder, ColtBeta, ColtBinomial, ColtBinomial, ColtBinomial, ColtBinomialSelector, ColtBinomialSelector, ColtBinomialSelector, ColtBreitWigner, ColtChiSquare, ColtExponential, ColtExponentialPower, ColtGamma, ColtHyperGeometric, ColtLogarithmic, ColtNegativeBinomial, ColtNormal, ColtPoisson, ColtPoisson, ColtPoisson, ColtPoissonSlow, ColtRandomSource, ColtRandomSource, ColtRandomSource, ColtStudentT, ColtVonMises, ColtZeta, ComboBox, ComboBox.Item, ComboItem, CommitActionsAttribute, CommitActionsAttribute, Commutator, Commutator, Commutator, Commutator, Commutator.WidthDependentParameter, Commutator.WidthDependentParameter, Comparator, Comparator, Comparator, CompiledCompositeActor, CompiledCompositeActor, CompiledCompositeActor, CompiledCompositeActor, ComplexAddSubtract, ComplexToCartesian, ComplexToCartesian, ComplexToPolar, ComponentEntity, ComponentPort, ComponentRelation, CompositeActor, CompositeActorMatcher, CompositeEntity, CompositeProcessDirector, ComputeHistogram, ComputeHistogram, Concat, Cone3D, ConfigurableAttribute, Configuration, ConfigurationEffigy, ConfigurationSelect, ConfigurationSwitch, Configure, Configurer, Configurer, Configurer.ContainmentExtender, Configurer.ContainmentExtender, Const, Const, Const, Const, Constraint, ContainerIgnoringAttribute, ContainmentExtender, ContainmentExtender, ContextMenuFactoryCreator, ContinuousClock, ContinuousDirector, ContinuousIntegrator, ContinuousMerge, ContinuousScheduler, ContinuousTimeDelay, ContinuousTransferFunction, ContinuousTransferFunction, Converter, ConvolutionalCoder, CopyCatIcon, Counter, Counter, Counter, CountTrues, CountTrues, Course, CreationAttribute, CryptographyActor, CSPActor, CSPBuffer, CSPDirector, CSPMultiSink, CSPMultiSource, CSPSieve, CSPSink, CSPSource, CTBaseIntegrator, CTCase, CTCaseDirector, CTCompositeActor, CTCompositeActor, CTDirector, CTEmbeddedDirector, CTMixedSignalDirector, CTMultiSolverDirector, CTPeriodicSampler, CTRateLimiter, CTRefinement, CTScheduler, CTTriggeredSampler, Current, CurrentTime, CurrentTime, CurrentTime, CurrentTime, Cylinder3D, DatabaseInsert, DatabaseManager, DatabaseQuery, DatabaseSelect, DatagramReader, DatagramWriter, DB, DB, DCT2x2dc, DCT4x4dc, DCT8x8, DDEActor, DDEDirector, DDEIOPort, DDESink, DDFBooleanSelect, DDFDirector, DDFOrderedMerge, DDFSelect, DDFSingleTokenCommutator, DEActor, DebugController, DebuggerParameter, DebugListenerTableau, DecoratedAttributes, DecoratedAttributesImplementation, DEDirector, DEDirector, Default, DefaultDirectoryAttribute, DefaultModelAttribute, DelayChannel, DelayLine, DelayLine, DelayStart, DependencyDeclaration, DependencyHighlighter, DEReceiver, Derivative, DerivativeResolver, DeScrambler, DesignPatternIcon, DesignPatternImporter, DEThreadActor, DETransformer, DialogTableau, Differential, Differential, Differential, DifferentialSystem, DifferentialSystem, Director, Director, Director, DirectoryListing, DirectoryListing, Discard, Discard, Discard, DiscreteClock, DiscreteClock, DiscreteClock, DiscreteRandomSource, DiscreteRandomSource, Display, Display, Display, Display, Display.DisplayWindowTableau, DistributedDirector, DistributedLineWriter, DistributedSDFDirector, DistributedSDFScheduler, DistributedTypedCompositeActor, DistributedTypedIORelation, Distributor, Distributor, Distributor, Distributor, Distributor.WidthDependentParameter, Distributor.WidthDependentParameter, DocAttribute, DocBuilder, DocBuilderEffigy, DocBuilderEffigy.Factory, DocBuilderTableau, DocBuilderTableau.Factory, DocEffigy, DocEffigy.Factory, DocTableau, DocTableau.Factory, Documentation, DocumentationAttribute, DocumentationAttribute.DocumentationAttributeFactory, DocViewerFactory, DoNothingDirector, DotProduct, DotProduct, DoubleFork, DoubleMatrixToJAI, DoubleRangeParameter, DoubleReader, DoubleReader, DoubleToFix, DoubleToMatrix, DownSample, DownSample, DTDirector, DynamicEditorIcon, EditableChoiceStyle, EditIconTableau, EditIconTableau.Factory, EditorFactory, EditorIcon, EditorPaneFactory, Effigy, EffigyFactory, ElementsToArray, ElementsToArray, ElementsToArray, Ellipse2D, EllipseAttribute, EmbeddedCActor, EmbeddedCActor, EmbeddedCActor.EmbeddedActor, EmbeddedCActor.EmbeddedActor, EmbeddedCFileActor, EmbeddedCFileActor, EmbeddedCFileActor.EmbeddedFileActor, EmbeddedCFileActor.EmbeddedFileActor, EmbeddedJavaActor, EmbeddedJavaActor, EmbeddedJavaActor.EmbeddedActor, EmbeddedJavaActor.EmbeddedActor, EnabledComposite, Entity, Entity, EntityLibrary, Equals, Equals, ErasureChannel, Event, Event.EventParameter, EventButton, EventFilter, EventIcon, EventQueueDebugger, EventSource, EventSource, Exec, ExecShellEffigy, ExecShellEffigy.ShellFactory, ExecShellTableau, ExecShellTableau.Factory, Execute, ExecutionTime, Exit, Exit, ExpertParameter, ExplicitRK23Solver, ExplicitRK45Solver, Expression, Expression, Expression, Expression, Expression, ExpressionReader, ExpressionShellEffigy, ExpressionShellEffigy.ShellFactory, ExpressionShellTableau, ExpressionShellTableau.Factory, ExpressionToToken, ExpressionWriter, ExpressionWriter, ExternalTextEffigy, ExternalTextTableau, FeedBackDelay, FFT, FFT, FileAttribute, FileChooserStyle, FileEditorTableauFactory, FileOrURLEditorFactory, FileParameter, FilePortParameter, FileReader, FileReader, FileWriter, FilledShapeAttribute, FIR, FIR, FirstOrderHold, FixComparator, FixConst, FixCounter, FixedPointDirector, FixedPointScheduler, FixedStepSolver, FixSequence, FixToDouble, FixToFix, FixToString, FixTransformer, FmvAutomaton, FmvAutomaton, FmvAutomatonGraphTableau, FmvAutomatonGraphTableau, FmvAutomatonGraphTableau.Factory, FmvAutomatonGraphTableau.Factory, FmvState, FmvState, FmvStateIcon, FmvStateIcon, ForwardEulerSolver, FrontDropQueue, FSMActor, FSMActor, FSMActor, FSMActor, FSMActor, FSMActor, FSMDirector, FSMDirector, FSMDirector, FSMDirector, FSMDirector, FSMDirector, FSMDirector, FSMGraphTableau, FSMGraphTableau, FSMGraphTableau.Factory, FSMGraphTableau.Factory, FSMMatcher, Gaussian, Gaussian, Gaussian, GeneratorAttribute, GeneratorTableau, GeneratorTableau.Factory, GeneratorTableauAttribute, GeneratorTableauAttribute.GeneratorTableauEditorFactory, GetCausalityInterface, GetCurrentMicrostep, GetProperties, GiottoCodeGenerator, GiottoCodeGenerator.GiottoEditorFactory, GiottoDirector, GiottoDirector, GiottoDirector, GiottoScheduler, GRActor, GRActor2D, GRActor3D, GradientAdaptiveLattice, GradientAdaptiveLattice, GradientAdaptiveLattice, GraphicalLocator, GraphTransformer.ReplacementObjectAttribute, GRDirector, GRScheduler, GRShadedShape, GRShape2D, GRTransform, GRTransform2D, GTEvent, GTFrameTools.DelegatedUndoStackAttribute, GTGUIAction, GTIngredientsAttribute, GTIngredientsEditor.Factory, GTParameter, GTTableau, GTTableau.Factory, GTTableau.ModalTableauFactory, GUIAction, GUIProperty, HadamardCode, HammingCoder, HammingCoder, HammingDecoder, HammingDecoder, HDFDirector, HDFDirector, HDFFSMDirector, HDFFSMDirector, HiddenStyle, HierarchicalModeControllerFactory, HierarchicalStateControllerFactory, HierarchicalStateControllerFactory, HierarchyFlatteningAttribute, HighlightEntities, HighlightEntities.HighlightIcons, HistogramPlotter, HSFSMDirector, HSIFEffigyFactory, HSModalDirector, HTMLEffigy, HTMLEffigyFactory, HTMLViewerTableau, HTMLViewerTableau.Factory, HTVQEncode, HuffmanBasic, HuffmanCoder, HuffmanDecoder, HybridModalDirector, IDAttribute, IDCT4x4dc, IDCT8x8, IFFT, IFFT, IgnoringAttribute, IIR, IIR, Image2D, ImageAttribute, ImageContrast, ImageDisplay, ImageDisplay, ImageIcon, ImagePartition, ImageReader, ImageRotate, ImageSequence, ImageTableau, ImageTableau.Factory, ImageToJAI, ImageToJMF, ImageToString, ImageUnpartition, ImportAttribute, Inhibit, InitModel, InitModelWithContainer, InputModel, InsideEntityEditorPaneFactory, InstantaneousDialogGenerator, InstantiableNamedObj, IntArrayToString, IntegerCounter, Integrator, Integrator, Integrator, InteractiveShell, InteractiveShell.ShellTableau, InterfaceAutomaton, InterfaceAutomaton, InterfaceAutomatonGraphTableau, InterfaceAutomatonGraphTableau, InterfaceAutomatonGraphTableau.Factory, InterfaceAutomatonGraphTableau.Factory, InterfaceAutomatonTransition, InterfaceAutomatonTransition, InterfaceTableau, InterfaceTableau.Factory, Interpolator, Interpolator, Interpolator, IntRangeParameter, IntToBits, IntToBits, InUnitsOf, IOPort, IOPort, IOPort, IOPort, IORelation, IORelation, IsPresent, IsPresent, IterateOverArray, IterateOverArray.IterateComposite, IterateOverArray.IterateDirector, IterateOverArray.IteratePort, IterativeParameter, IterativeParameterIcon, JAIAffineTransform, JAIBandCombine, JAIBandSelect, JAIBMPWriter, JAIBorder, JAIBoxFilter, JAIConstant, JAIConvolve, JAICrop, JAIDataConvert, JAIDCT, JAIDFT, JAIEdgeDetection, JAIIDCT, JAIIDFT, JAIImageReader, JAIInvert, JAIJPEGWriter, JAILog, JAIMagnitude, JAIMedianFilter, JAIPeriodicShift, JAIPhase, JAIPNGWriter, JAIPNMWriter, JAIPolarToComplex, JAIRotate, JAIScale, JAITIFFWriter, JAIToDoubleMatrix, JAITranslate, JAITranspose, JAIWriter, JavaCodeGenerator, JavaCodeGeneratorHelper, JopReadPort, JopReadPort, JopSerialRead, JopSerialRead, JopSerialWrite, JopSerialWrite, JopWatchDog, JopWatchDog, JopWritePort, JopWritePort, JVMTableau, JVMTableau.Factory, KeplerDocumentationAttribute, KeyInput3D, KeyInput3DProbe, KeyReader, KeyStoreActor, KeyWriter, KielerLayoutTableau, KielerLayoutTableauFactory, Lattice, Lattice, LayoutTableau, LazyTypedCompositeActor, LEDMatrix, LEDMatrix, LempelZivCoder, LempelZivDecoder, LevelCrossingDetector, LevelCrossingDetector, LevelSkippingTableauFactory, LevinsonDurbin, LibraryAttribute, LifeCycleManager, LimitedFiringSource, LimitedRangeChannel, Limiter, Limiter, Limiter, Line2D, LinearDifferenceEquationSystem, LinearDifferenceEquationSystem, LinearStateSpace, LinearStateSpace, LineAttribute, LineCoder, LineReader, LineReader, LineStyle, LineWriter, LineWriter, LinkVisualizer, ListDirectory, LiveSoundActor, LMSAdaptive, LMSAdaptive, Location, LocationAttribute, LocationParameter, Locator, LogicalNot, LogicalNot, LogicalNot, LogicFunction, LogicFunction, LogicFunction, LogicFunction, LongToDouble, LookupTable, LookupTable, Manager, MapFileStorage, MapWorker, Match, MatchingAttribute, MatchResultTableau, MatchResultTableau.Factory, MathematicalModelConverter, MathematicalModelConverterGUIFactory, MathFunction, MatrixJoin, MatrixSplit, MatrixToDouble, MatrixTokenTableau, MatrixTokenTableau.Factory, MatrixToSequence, MatrixViewer, Maximum, Maximum, MaxIndex, Memory, Merge, Merge, MicaCompositeActor, MicaLeds, Minimum, Minimum, Minimum, MirrorComposite, MirrorComposite.MirrorCompositeContents, MirrorPort, MobileFunction, MobileModel, ModalController, ModalController, ModalController, ModalController, ModalDirector, ModalDirector, ModalModel, ModalModel, ModalModel, ModalModel, ModalModel, ModalModelMatcher, ModalPort, ModalPort, ModalPort, ModalPort, ModalRefinement, ModalRefinementPort, ModalTableauFactory, ModalTableauFactory, ModelCombine, ModelDirectory, ModelDisplay, ModelExecutor, ModelExecutor.Wrapper, ModelExecutor.Wrapper.WrapperDirector, ModelExecutor.WrapperPort, ModelGenerator, ModelIOPort, ModelParameter, ModelReference, ModelRepaintController, ModelView, MoMLAttribute, MoMLGenerator, MoMLModelAttribute, MoMLModelAttributeControllerFactory, MonitorImage, MonitorReceiverAttribute, MonitorReceiverContents, MonitorValue, MonitorValue, MonitorValue, MouseInput3D, MovableViewScreen3D, MovieReader, MovieWriter, MovingAverage, MovingAverage, MovingAverage, MovingMaximum, MultiCompositeActor, MultiCompositeActor, MultiCompositeActor, MultiCompositePort, MultiCompositePort, MultiCompositePort, MultiInstanceComposite, MultiInstanceComposite, Multiplexor, Multiplexor, Multiplexor, Multiplier, MultiplyDivide, MultiplyDivide, MultiplyDivide, MultirateFSMDirector, MultirateFSMDirector, MultirateFSMDirector, MultirateFSMDirector, MultirateFSMDirector, NamedObj, NamedObjVariable, NameIcon, NameParameter, NavigableActorGraphTableau, NavigableActorGraphTableau.Factory, NavigableEffigy, NavigableEffigy.Factory, NavigableEffigy.FactoryWithoutNew, NCComponentBase, NCCompositeActor, NCCompositeActorTableauFactory, NegationAttribute, NodeControllerFactory, NodeRandomizer, Noise, Noise, NondeterministicMerge, NondeterministicMerge.ChannelActor, NondeterministicMerge.MergeDirector, NonInterruptibleTimer, NonInterruptibleTimer, NonStrictDelay, NonStrictDelay, NonStrictDisplay, NonStrictDisplay, NonStrictFSMDirector, NonStrictFSMDirector, NonStrictLogicFunction, NonStrictLogicFunction, NonStrictTest, NonStrictTest, NonStrictThreeBitAdder, NotEditableLineStyle, Occupants, Occupants.OccupantsConfigureFactory, OctagonEventIcon, ODESolver, OpenRTOSTarget, OptionAttribute, Or, OrderedMerge, OrderedMerge, OrderedMerge, OrderedRecordAssembler, OutputActionsAttribute, OutputActionsAttribute, OutputModel, Panel, Parameter, ParameterEditorStyle, ParameterPort, ParameterPort, ParameterPort, ParameterPort, ParametersAttribute, ParameterSet, ParserAttribute, PasswordAttribute, Pattern, PatternObjectAttribute, PDFAttribute, PDFIcon, PeriodicSampler, PetriNetActor, PetriNetDirector, PhaseUnwrap, PhaseUnwrap, PID, Place, PlaySound, Plot, PlotEffigy, PlotEffigy.Factory, PlotTableau, PlotTableau.Factory, Plotter, PlotterBase, PlotterBase, PlotterBase.PlotWindowTableau, PNDirector, PNDirector, PNDirector, PoissonClock, PoissonClock, PolarToCartesian, PolarToCartesian, PolarToComplex, PolyCylinder3D, Port, PortMatcher, PortParameter, PosixTarget, PowerLossChannel, Pre, PreservationAttribute, Previous, Priority, PrivateKeyReader, ProcessDirector, PropertyParameter, PSDFDirector, PSDFScheduler, PSNR, PtalonActor, PtalonExpressionParameter, PtalonMatcher, PtalonMatcher.NestedPtalonActor, PtalonParameter, PteraController, PteraDirector, PteraGraphTableau, PteraGraphTableau.Factory, PteraModalModel, PtinyOSCompositeActor, PtinyOSDirector, PtinyOSNodeParameter, PtolemyEffigy, PtolemyEffigy.Factory, PtolemyEffigy.FactoryWithoutNew, PtolemyPreferences, PtolemyTableauFactory, PublicKeyReader, Publisher, Publisher, Publisher, PublisherNonStrictTest, PublisherTest, PublisherTest, PublisherTest, Pulse, Pulse, Pulse, Pulse, Pulse, PythonScript, PythonShellEffigy, PythonShellEffigy.ShellFactory, PythonShellTableau, PythonShellTableau.Factory, Quantizer, Quantizer, Queue, Queue, QueuedTypedIOPort, RaisedCosine, RaisedCosine, Ramp, Ramp, Ramp, Ramp, Ramp, RampNecessaryFiles, RandomSource, RandomSource, RandomSource, RandomSource, Reader, ReadModel, RealTimeComposite, RealTimeComposite.RealTimeDirector, RealTimePlotter, ReceiveInput, Receiver, RecordAssembler, RecordDisassembler, Recorder, Recorder, RecordUpdater, Rectangle2D, RectangleAttribute, RectangularFigure2D, RecursiveLattice, RecursiveLattice, RecursiveLattice, ReduceWorker, Refinement, Refinement, Refinement, Refinement, Refinement, Refinement, Refinement, RefinementExtender, RefinementExtender, RefinementPort, RefinementPort, RefinementPort, RefinementPort, RefinementPort, RefinementPort, RefinementPort, RefinementSuggestion, RefinementSuggestion, Region, Register, Register, RegisterSR, Relation, RelationCollapsingAttribute, RelationHidingAttribute, Remainder, Remainder, RemoveNilTokens, RendezvousDirector, Repeat, Repeat, Repeat, Replacement, Report, RequireVersion, ResettableTimer, ResizableAttributeControllerFactory, ResizablePolygonAttribute, ResourcePool, ResourcePool, Rician, Rician, ROM, Room, Rotate2D, Rotate3D, Round, Round, Round, RTMaudeAdaptor, RTMaudeCodeGenerator, RunCompositeActor, RunTableau, RunTableau.Factory, RunTableau.TopFactory, SaltAndPepper, SampleDelay, SampleDelay, SampleDelay, Sampler, Sampler, Scale, Scale, Scale, Scale, Scale2D, Scale3D, SchedulePlotter, SchedulePlotter.SchedulePlotterEditorFactory, Scheduler, SchedulingRelation, ScopeExtendingAttribute, Scrambler, SDFConverter, SDFDirector, SDFDirector, SDFDirector, SDFDirector, SDFDirector, SDFIOPort, SDFScheduler, SDFTransformer, SecretKey, SecretKeyReader, Select, Select, Separator, Sequence, Sequence, Sequence, Sequence, SequencePlotter, SequencePlotter, SequencePlotter, Sequencer, Sequencer, SequenceScope, SequenceScope, SequenceSource, SequenceToArray, SequenceToArray, SequenceToMatrix, SequentialClock, SequentialClock, SerialComm, Server, SetProperties, SetTableau, SetVariable, SetVariable, SetVariable, ShapeAttribute, ShapeIcon, SharedParameter, SharedQueue, SignatureActor, SignatureSigner, SignatureVerifier, SimpleALU, Simulator, SingleEvent, SingleEvent, SingleTokenCommutator, SingleTokenDistributor, SingletonAttribute, SingletonConfigurableAttribute, SingletonParameter, SingleWindowConfiguration, SingleWindowHTMLViewerTableau, SingleWindowHTMLViewerTableau.Factory, Sink, Sink, SizeAttribute, SketchedSource, Sleep, Sleep, Sleep, Slice, Slicer, SliderSource, SliderSource, SMVLegacyCodeActor, SoundActor, SoundPlayer, Source, Sphere3D, SplitReader, SQLStatement, SRDirector, SRDirector, SRDirector, SROptimizedScheduler, SRRandomizedScheduler, Starver, State, State, State.InvisibleModalModel, State.InvisibleModalModel, StateIcon, StateIcon, StateMatcher, StateMatcherController.Factory, StateMatcherIcon, StaticALU, StaticSchedulingCodeGenerator, StaticSchedulingDirector, StaticSchedulingDirector, StaticSchedulingDirector, Stop, Stop, Stop, StreamLoader, StringAttribute, StringCompare, StringCompare, StringConst, StringConst, StringConst, StringFunction, StringFunction, StringIndexOf, StringIndexOf, StringLength, StringLength, StringLength, StringMatches, StringMatches, StringParameter, StringReplace, StringSimpleReplace, StringSimpleReplace, StringSubstring, StringSubstring, StringToIntArray, StringToIntArray, StringToKeyValue, StringToUnsignedByteArray, StringToUnsignedByteArray, StringToXML, SubMatrix, Subscriber, Subscriber, Subscriber, SubscriptionAggregator, SubscriptionAggregator, SubscriptionAggregator, SumofAbsoluteDifferences, SuppressSimultaneousEvents, SurgeVisualizer, SVGIcon, Switch, Switch, SymmetricDecryption, SymmetricEncryption, Synchronizer, Synchronizer, SynchronizeToRealtime, SynchronousFixTransformer, SystemCommand, Tableau, TableauFactory, TableauParameter, TableIcon, TclShellEffigy, TclShellEffigy.ShellFactory, TclShellTableau, TclShellTableau.Factory, TDLActor, TDLCodeGenerator, TDLCodeGenerator.TDLEditorFactory, TDLController, TDLMode, TDLModule, TDLModuleDirector, TDLRefinement, TDLRefinementPort, TdlTableauFactory, TDLTask, TDLTaskPort, TdlTaskTableauFactory, TDLTransition, TemporaryVariable, TerrainProperty, Test, Test, Test, Test, TestActorPortDepth, TestCodeGeneratorHelper, TesterDirector, TestExceptionHandler, TestExpression, TestIcon, TextAttribute, TextEditorConfigureFactory, TextEditorTableau, TextEditorTableau.Factory, TextEditorTableauFactory, TextEffigy, TextEffigy.Factory, TextIcon, TextString3D, TextStyle, ThreadedComposite, ThreadedComposite.ThreadedDirector, ThresholdMonitor, ThrowException, ThrowException, ThrowModelError, ThrowModelError, TimeAdvanceEventIcon, TimeCompare, TimedDelay, TimedDelay, TimedDelay, TimeDelay, TimedPlotter, TimedPlotter, TimedPlotter, TimedPlotter, TimedPNDirector, TimedScope, TimedSource, TimeGap, Timer, Timer, TMCompositeFacade, TMDirector, TokenEffigy, TokenEffigy.Factory, TokenTableau, TokenTableau.Factory, TokenToExpression, TokenToExpression, TokenToExpression, ToolBar, TopLevelCurrentTime, Torus3D, Transform, Transform.EmbeddedConfigurer, TransformationAttribute, TransformationAttribute.TransformationListener, TransformationAttributeController.Factory, TransformationAttributeEditorFactory, TransformationAttributeIcon, TransformationMode, TransformationMode.WorkingCopyScopeExtender, TransformationRule, TransformationRule.TransformationDirector, Transformer, TransformEventController.Factory, TransientSingletonConfigurableAttribute, Transition, Transition, Transition, TransitionMatcher, TransitionRefinement, TransitionRefinement, TransitionRefinement, TransitionRefinement, TransitionRefinementPort, TransitionRefinementPort, TransitionRefinementPort, TransitionRefinementPort, Translate2D, Translate3D, TransmitPropertyTransformer, TrapezoidalRuleSolver, TreeTableau, TreeTableau.Factory, TrellisDecoder, Triangular, Triangulator, TrigFunction, TrigFunction, TrigFunction, TriggeredClock, TriggeredContinuousClock, TrueGate, TypeAttribute, TypedAtomicActor, TypedAtomicActor, TypedCompositeActor, TypedCompositeActor, TypedCompositeActor, TypedCompositeActor, TypedCompositeActor, TypedCompositeActor, TypedIOPort, TypedIOPort, TypedIOPort, TypedIORelation, TypeOpaqueCompositeActor, TypeOpaqueCompositeActorTableauFactory, TypeTest, UnaryMathFunction, UnaryMathFunction, UnaryMathFunction, Undefined, UndoStackAttribute, Uniform, Uniform, Uniform, UnionDisassembler, UnionMerge, UnitAttribute, UnitCategory, UnitSystem, UnsignedByteArrayToString, UpdatedValueIcon, UpSample, UpSample, URIAttribute, URLDirectoryReader, URLReader, URLToImage, ValueIcon, Variable, Variable, VariableClock, VariableDelay, VariableDelay, VariableFIR, VariableFIR, VariableLattice, VariableLattice, VariableRecursiveLattice, VariableRecursiveLattice, VariableSleep, VectorAssembler, VectorAssembler, VectorAssembler, VectorDisassembler, VectorDisassembler, VectorDisassembler, VersionAttribute, Vertex, VideoCamera, VideoPlayer, View, ViewScreen2D, ViewScreen3D, VisibleAttribute, VisibleParameterEditorFactory, VisualModelReference, VisualModelReference.LookInside, ViterbiDecoder, VQDecode, WaitingTime, WallClockTime, WallClockTime, WelcomeWindowTableau, When, WindowPropertiesAttribute, Wire, Wire, WiredToWireless, WirelessComposite, WirelessDirector, WirelessIOPort, WirelessToWired, WriteModel, Writer, XMLIcon, XMLInclusion, XSLTransformer, XYPlotter, XYPlotter, XYScope, XYScope, ZeroCrossingDetector, ZeroOrderHold, ZeroOrderHold

public interface Changeable

This is an interface for objects that support change requests that can be deferred. A change request is any modification to a model that might be performed during execution of the model, but where there might only be certain phases of execution during which it is safe to make the modification. Such changes are also called mutations.

A change request is typically made by instantiating a subclass of ChangeRequest (possibly using an anonymous inner class) and then passing it to the requestChange() method of an object implementing this interface. That object may delegate the request (for example, it might consolidate all such requests at the top level of the hierarchy by passing the request to its container). If it does delegate, then it is expected to consistently delegate all commands to the same object.

When a change request is made, if it is safe to do so, then an implementor of this interface is free to immediately execute the request, unless setDeferringChangeRequests(true) has been called. It is never safe to execute a change request if the implementor is already in the middle of executing a change request (that execution may have triggered the request).

Since:
Ptolemy II 4.0
Version:
$Id: Changeable.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
ChangeRequest
Accepted Rating:
Green (neuendor)
Proposed Rating:
Green (eal)

Method Summary
 void addChangeListener(ChangeListener listener)
          Add a change listener.
 void executeChangeRequests()
          Execute requested changes.
 boolean isDeferringChangeRequests()
          Return true if setDeferringChangeRequests(true) has been called to specify that change requests should be deferred.
 void removeChangeListener(ChangeListener listener)
          Remove a change listener, if it is present, and otherwise do nothing.
 void requestChange(ChangeRequest change)
          Request that the given change be executed.
 boolean setDeferringChangeRequests(boolean isDeferring)
          Specify whether change requests made by calls to requestChange() should be executed immediately.
 

Method Detail

addChangeListener

void addChangeListener(ChangeListener listener)
Add a change listener. Each listener will be notified of the execution (or failure) of each change request that is executed via the requestChange() method. Implementors are free to delegate both the request and the listener to other objects (e.g. the container), so the listener may be notified of more changes than those requested through the requestChange() method of this object. Implementors are required to not add a listener that is already on the list of listeners (i.e., objects should not appear more than once on the list).

Parameters:
listener - The listener to add.
See Also:
removeChangeListener(ChangeListener), requestChange(ChangeRequest)

executeChangeRequests

void executeChangeRequests()
Execute requested changes. An implementor is free to delegate this to another implementor of Changeable. An implementor is expected to execute all pending change requests (even if setDeferringChangeRequests() has been called with a true argument). Listeners will be notified of success or failure.

See Also:
addChangeListener(ChangeListener), requestChange(ChangeRequest), setDeferringChangeRequests(boolean)

isDeferringChangeRequests

boolean isDeferringChangeRequests()
Return true if setDeferringChangeRequests(true) has been called to specify that change requests should be deferred.

Returns:
True if change requests are being deferred.
See Also:
setDeferringChangeRequests(boolean)

removeChangeListener

void removeChangeListener(ChangeListener listener)
Remove a change listener, if it is present, and otherwise do nothing.

Parameters:
listener - The listener to remove.
See Also:
addChangeListener(ChangeListener)

requestChange

void requestChange(ChangeRequest change)
Request that the given change be executed. An implementor is free to delegate this request to another object (e.g. the container). It may also execute the request immediately, unless this object is deferring change requests. If setDeferChangeRequests() has been called with a true argument, then an implementor is expected to queue the request until either setDeferChangeRequests() is called with a false argument or executeChangeRequests() is called. If an implementor is already in the middle of executing a change request, then the implementor is expected to finish that execution before executing this one. Change listeners will be notified of success (or failure) of the request when it is executed.

Parameters:
change - The requested change.
See Also:
executeChangeRequests(), setDeferringChangeRequests(boolean)

setDeferringChangeRequests

boolean setDeferringChangeRequests(boolean isDeferring)
Specify whether change requests made by calls to requestChange() should be executed immediately. An implementor is free to delegate this to another object implementing Changeable (e.g. the container). If the argument is true, then an implementor is expected to queue requests until either this method is called again with argument false, or until executeChangeRequests() is called. If the argument is false, then execute any pending change requests and set a flag requesting that future requests be executed immediately.

Parameters:
isDeferring - If true, defer change requests.
Returns:
True if this object was previously deferring change requests.
See Also:
addChangeListener(ChangeListener), executeChangeRequests(), isDeferringChangeRequests(), requestChange(ChangeRequest)