Package ptolemy.moml

Class MoMLAttribute

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

    public class MoMLAttribute
    extends Attribute
    This attribute has an arbitrary MoML description that is exported when the exportMoML() methods of the container are called. Thus, it serves as a convenient way to attach persistent information that will not otherwise be exported to MoML. To specify its MoML description, call setMoMLDescription().
    Since:
    Ptolemy II 1.0
    Version:
    $Id$
    Author:
    Edward A. Lee
    Pt.AcceptedRating:
    Red (reviewmoderator)
    Pt.ProposedRating:
    Red (eal)
    • Constructor Detail

      • MoMLAttribute

        public MoMLAttribute​(Workspace workspace)
        Construct an attribute in the specified workspace with an empty string as a name. You can then change the name with setName(). If the workspace argument is null, then use the default workspace. The object is added to the directory of the workspace. Increment the version number of the workspace.
        Parameters:
        workspace - The workspace that will list the attribute.
      • MoMLAttribute

        public MoMLAttribute​(NamedObj container,
                             java.lang.String name)
                      throws IllegalActionException,
                             NameDuplicationException
        Construct an attribute with the specified container and name.
        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

      • appendMoMLDescription

        public void appendMoMLDescription​(java.lang.String moml)
        Append to the MoML description of this object.
        Parameters:
        moml - The MoML description of this object.
      • writeMoMLDescription

        public void writeMoMLDescription​(java.io.Writer output,
                                         int depth)
                                  throws java.io.IOException
        Write the MoML description of this object, which consists of whatever has been specified using the appendMoMLDescription() method. If that method has not been called, then nothing is written. The written MoML is indented to the specified depth and terminated with a newline.
        Parameters:
        output - The output stream to write to.
        depth - The depth in the hierarchy, to determine indenting.
        Throws:
        java.io.IOException - If there is a problem writing the MoML.
      • exportMoML

        public void exportMoML​(java.io.Writer output,
                               int depth,
                               java.lang.String name)
                        throws java.io.IOException
        Write a MoML description of this object, which in this case is whatever has been specified by the setMoMLDescription() method. If that method has not been called, then nothing is written. The written MoML is indented to the specified depth and terminated with a newline. If this object is not persistent, then nothing is written.
        Specified by:
        exportMoML in interface MoMLExportable
        Overrides:
        exportMoML in class NamedObj
        Parameters:
        name - The name to use instead of the name of this object. This argument is ignored.
        output - The output stream to write to.
        depth - The depth in the hierarchy, to determine indenting.
        Throws:
        java.io.IOException - If there is a problem writing the MoML.
        See Also:
        NamedObj.isPersistent()