Class DesignPatternImporter

  • All Implemented Interfaces:
    java.lang.Cloneable, GTAttribute, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable, ValueListener

    public class DesignPatternImporter
    extends Attribute
    implements GTAttribute, ValueListener
    An attribute that specifies the location of a design pattern and populates the container with that design pattern automatically. This attribute has the same effect of importing a design pattern into the current model with the menu item in the File menu of the Ptolemy environment, but it automatically imports the specified design pattern and does not require the model user to manually import it.
    Since:
    Ptolemy II 8.0
    Version:
    $Id$
    Author:
    Thomas Huining Feng
    Pt.AcceptedRating:
    Red (tfeng)
    Pt.ProposedRating:
    Yellow (tfeng)
    • Field Detail

      • designPatternFile

        public FileParameter designPatternFile
        The design pattern file.
    • Constructor Detail

      • DesignPatternImporter

        public DesignPatternImporter​(NamedObj container,
                                     java.lang.String name)
                              throws IllegalActionException,
                                     NameDuplicationException
        Construct an attribute with the given name contained by the specified entity. The container argument must not be null, or a NullPointerException will be thrown. This attribute will use the workspace of the container for synchronization and version counts. If the name argument is null, then the name is set to the empty string. Increment the version of the workspace.
        Parameters:
        container - The container.
        name - The name of this attribute.
        Throws:
        IllegalActionException - If the attribute is not of an acceptable class for the container, or if the name contains a period.
        NameDuplicationException - If the name coincides with an attribute already in the container.
    • Method Detail

      • attributeChanged

        public void attributeChanged​(Settable settable)
        Update the design pattern.
        Parameters:
        settable - The attribute changed.
      • clone

        public java.lang.Object clone​(Workspace workspace)
                               throws java.lang.CloneNotSupportedException
        Clone the object into the specified workspace. The new object is not added to the directory of that workspace (you must do this yourself if you want it there). The result is an object with no container.
        Overrides:
        clone in class Attribute
        Parameters:
        workspace - The workspace for the cloned object.
        Returns:
        The new object.
        Throws:
        java.lang.CloneNotSupportedException - Not thrown in this base class
        See Also:
        NamedObj.exportMoML(Writer, int, String), NamedObj.setDeferringChangeRequests(boolean)
      • update

        public void update()
        Update the container of this importer with the design pattern. If a design pattern is previously added to the container, the importer first tries to undo the importation before importing the new design pattern.
      • valueChanged

        public void valueChanged​(Settable settable)
        React to change of an attribute and update the container of this importer.
        Specified by:
        valueChanged in interface ValueListener
        Parameters:
        settable - The attribute changed.