ptolemy.kernel.util
Interface Derivable

All Superinterfaces:
Nameable
All Known Subinterfaces:
Instantiable
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 Derivable
extends Nameable

This interface is for objects that can be derived. A derived object is "inherited" via the class mechanism in Ptolemy II and tracks the object from which it is derived. That object is its "prototype." The derived object is usually created in its container as a side effect of the creation of the prototype. The method propagateExistence() is the mechanism by which derived objects are created.

The prototype and its derived objects are instances of the same Java class, and by default, if they have a "value," then they have the same value. The derived object may, however, "override" its value. Propagation of changes in the value from the prototype to the derived objects that do not override the value is handled by the propagateValue() method. It is up to that method to properly handle shadowing that might occur if a derived object that is overridden is also a prototype for other derived objects.

A derived object arises from a parent-child relationship, which is supported by the subinterface Instantiable. Every object that is (deeply) contained by a parent has a corresponding derived object that is (deeply) contained by the child. Thus, the existence of the derived object is "implied" by the parent-child relationship. The depth of a derived object relative to this parent-child relationship is returned by the getDerivedLevel() method. For example, if the container of a derived object is the child of the container of its prototype, then getDerivedLevel() will return 1.

The derived level returned by getDerivedLevel() affects whether a derived object is explicitly mentioned when a model is exported to MoML. Normally, a derived object is not mentioned in the MoML since its existence is "implied" by the existence of the prototype and the parent-child relationship. However, since it is possible to export MoML for any object in a hierarchical model, the exported MoML may not include the parent-child relationship, since it might be below it in the hierarchy. In this case, the derived object will be described in the exported MoML, since it is not implied in the exported MoML.

The getDerivedList() method returns a list of all the objects that are derived from a prototype. The getPrototypeList() method returns a list of all prototypes from which this object is derived.

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

Method Summary
 int getDerivedLevel()
          Get the minimum level above this object in the hierarchy where a parent-child relationship implies the existence of this object.
 java.util.List getDerivedList()
          Return a list of objects derived from this one.
 java.util.List getPrototypeList()
          Return a list of prototypes for this object.
 java.util.List propagateExistence()
          Propagate the existence of this object.
 java.util.List propagateValue()
          Propagate the value (if any) held by this object to derived objects that have not been overridden.
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 

Method Detail

getDerivedLevel

int getDerivedLevel()
Get the minimum level above this object in the hierarchy where a parent-child relationship implies the existence of this object. A value Integer.MAX_VALUE is used to indicate that this object is not a derived object. A value of 1 indicates that the container of the object is a child, and that the this object is derived from a prototype in the parent of the container. Etc.

Returns:
The level above this object in the containment hierarchy where a parent-child relationship implies this object.

getDerivedList

java.util.List getDerivedList()
Return a list of objects derived from this one. This is the list of objects that are "inherited" by their containers from a container of this object. The existence of these derived objects is "implied" by a parent-child relationship somewhere above this object in the containment hierarchy.

Implementors of this method may return an empty list, but should not return null. This method should return a complete list, including objects that have been overridden. All objects in the returned list are required to be of the same class as the object on which this method is called (they should be clones constructed directly or indirectly, via another clone).

Returns:
A list of objects of the same class as the object on which this is called.

getPrototypeList

java.util.List getPrototypeList()
                                throws IllegalActionException
Return a list of prototypes for this object. The list is ordered so that more local prototypes are listed before more remote prototypes. A prototype is more local if the parent-child relationship is deeper in the containment hierarchy.

Returns:
A list of prototypes for this object, each of which is assured of being an instance of the same (Java) class as this object, or an empty list if there are no prototypes.
Throws:
IllegalActionException - If a prototype with the right name but the wrong class is found.

propagateExistence

java.util.List propagateExistence()
                                  throws IllegalActionException
Propagate the existence of this object. If this object has a container, then ensure that all objects derived from the container contain an object with the same class and name as this object. Create that object when needed. Return the list of objects that are created.

Returns:
A list of derived objects of the same class as this implementor that are created, or an empty list if none are created.
Throws:
IllegalActionException - If the object cannot be created.

propagateValue

java.util.List propagateValue()
                              throws IllegalActionException
Propagate the value (if any) held by this object to derived objects that have not been overridden. Implementors are required to leave all derived objects unchanged if any single derived object throws an exception when attempting to propagate the value to it.

Returns:
The list of objects to which propagation occurred.
Throws:
IllegalActionException - If propagation is not possible.