Class RemoveGraphicalClasses

  • All Implemented Interfaces:
    MoMLFilter

    public class RemoveGraphicalClasses
    extends MoMLFilterSimple
    When this class is registered with the MoMLParser.setMoMLFilter() method, it will cause MoMLParser to filter out graphical classes.

    This is very useful for running applets with out requiring files like diva.jar to be downloaded. It is also used by the nightly build to run tests when there is no graphical display present.

    See ptolemy.moml.filter.RemoveGraphicalClassesApplication for an application that will remove graphical classes from a file.

    Since:
    Ptolemy II 2.0
    Version:
    $Id$
    Author:
    Edward A. Lee, Christopher Hylands
    Pt.AcceptedRating:
    Red (cxh)
    Pt.ProposedRating:
    Red (cxh)
    • Constructor Summary

      Constructors 
      Constructor Description
      RemoveGraphicalClasses()
      Construct a filter that removes graphical classes.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void clear()
      Clear the map of graphical classes to be removed.
      java.lang.String filterAttributeValue​(NamedObj container, java.lang.String element, java.lang.String attributeName, java.lang.String attributeValue, java.lang.String xmlFile)
      Filter for graphical classes and return new values if a graphical class is found.
      void filterEndElement​(NamedObj container, java.lang.String elementName, java.lang.StringBuffer currentCharData, java.lang.String xmlFile)
      In this class, do nothing.
      static void initialize()
      Initialize the set of classes to remove.
      void put​(java.lang.String className, java.lang.String replacement)
      Add a class to be filtered for and its replacement if the class is found.
      void remove​(java.lang.String className)
      Remove a class to be filtered.
      void setRemoveGR​(boolean removeGR)
      Set to true if we should removed classes that start with ptolemy.domains.gr.
      java.lang.String toString()
      Return a string that describes what the filter does.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • RemoveGraphicalClasses

        public RemoveGraphicalClasses()
        Construct a filter that removes graphical classes.
    • Method Detail

      • clear

        public static void clear()
        Clear the map of graphical classes to be removed.
      • filterAttributeValue

        public java.lang.String filterAttributeValue​(NamedObj container,
                                                     java.lang.String element,
                                                     java.lang.String attributeName,
                                                     java.lang.String attributeValue,
                                                     java.lang.String xmlFile)
        Filter for graphical classes and return new values if a graphical class is found. An internal HashMap maps names of graphical entities to new names. The HashMap can also map a graphical entity to null, which means the entity is removed from the model. All class attributeValues that start with "ptolemy.domains.gr" are deemed to be graphical elements and null is always returned. For example, if the attributeValue is "ptolemy.vergil.icon.ValueIcon", or "ptolemy.vergil.basic.NodeControllerFactory" then return "ptolemy.kernel.util.Attribute"; if the attributeValue is "ptolemy.vergil.icon.AttributeValueIcon" or "ptolemy.vergil.icon.BoxedValueIcon" then return null, which will cause the MoMLParser to skip the rest of the element; otherwise return the original value of the attributeValue.
        Parameters:
        container - The container for this attribute, ignored in this method.
        element - The XML element name.
        attributeName - The name of the attribute, ignored in this method.
        attributeValue - The value of the attribute.
        xmlFile - The file currently being parsed.
        Returns:
        the filtered attributeValue.
      • filterEndElement

        public void filterEndElement​(NamedObj container,
                                     java.lang.String elementName,
                                     java.lang.StringBuffer currentCharData,
                                     java.lang.String xmlFile)
                              throws java.lang.Exception
        In this class, do nothing.
        Parameters:
        container - The object created by this element.
        elementName - The element name.
        currentCharData - The character data, which appears only in the doc and configure elements
        xmlFile - The file currently being parsed.
        Throws:
        java.lang.Exception - Not thrown in this base class.
      • initialize

        public static void initialize()
        Initialize the set of classes to remove.
      • remove

        public void remove​(java.lang.String className)
        Remove a class to be filtered.
        Parameters:
        className - The name of the class to be filtered out, for example "ptolemy.copernicus.kernel.GeneratorAttribute".
        See Also:
        put(String, String)
      • put

        public void put​(java.lang.String className,
                        java.lang.String replacement)
        Add a class to be filtered for and its replacement if the class is found. If the replacement is null, then the rest of the attribute is skipped. Note that if you add a class with this method, then you must remove it with remove(String), calling 'new RemoveGraphicalClasses' will not remove a class that was added with this method.
        Parameters:
        className - The name of the class to be filtered out, for example "ptolemy.copernicus.kernel.GeneratorAttribute".
        replacement - The name of the class to be used if className is found. If this argument is null then the rest of the attribute is skipped.
        See Also:
        remove(String)
      • setRemoveGR

        public void setRemoveGR​(boolean removeGR)
        Set to true if we should removed classes that start with ptolemy.domains.gr.
        Parameters:
        removeGR - True if we should remove classes that start with ptolemy.domains.gr.
      • toString

        public java.lang.String toString()
        Return a string that describes what the filter does.
        Specified by:
        toString in interface MoMLFilter
        Overrides:
        toString in class java.lang.Object
        Returns:
        the description of the filter that ends with a newline.