Class PropertyClassChanges

When this class is registered with the MoMLParser.setMoMLFilter()
method, it will cause MoMLParser to filter so that models from
earlier releases will run in the current release.

This class will filter for classes with properties where the class
name has changed.

For example, after Ptolemy II 2.0.1, the Expression actor
changed in such a way that the expression property changed from
being a Parameter to being a StringAttribute. To add this
change to this filter, we add a code to the static section at
the bottom of the file.

The _actorsWithPropertyClassChanges HashMap contains all the classes
such as Expression that have changes and each class has a map
of the property changes that are to be made.

Conceptually, how the code works is that when we see a class while
parsing, we check to see if the class is in _actorsWithPropertyClassChanges.
If the class was present in the HashMap, then as we go through the
code, we look for property names that need to have their classes changed.

put

Add a class to be filtered and the old and new property class
types. Note that if you add a class with this method, then you
must remove it with remove(String), calling
"new PropertyClassChanges()" 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".

propertyClassMap - The HashMap that has the property
name as a key and the new class name as a value. If the value
of the HashMap is null then the rest of the attribute is skipped.