Interface Derivable

    • 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.