#!/usr/bin/env bash

AllHandler=""
# AllHandler="${AllHandler} AdditionalGraphicalObject"
# AllHandler="${AllHandler} Assignment"
# AllHandler="${AllHandler} BoundingBox"
# AllHandler="${AllHandler} CallParameter"
# AllHandler="${AllHandler} ChannelSpec"
# AllHandler="${AllHandler} CharacterData"
# AllHandler="${AllHandler} ColorDefinition"
# AllHandler="${AllHandler} Comment"
# AllHandler="${AllHandler} Compartment"
# AllHandler="${AllHandler} CompartmentGlyph"
# AllHandler="${AllHandler} Constant"
# AllHandler="${AllHandler} COPASI"
# AllHandler="${AllHandler} CXML"
# AllHandler="${AllHandler} CubicBezier"
# AllHandler="${AllHandler} Curve"
# AllHandler="${AllHandler} Dimensions"
# AllHandler="${AllHandler} Ellipse"
# AllHandler="${AllHandler} Event"
# AllHandler="${AllHandler} Function"
# AllHandler="${AllHandler} GradientStop"
# AllHandler="${AllHandler} Group"
# AllHandler="${AllHandler} GUI"
# AllHandler="${AllHandler} Image"
# AllHandler="${AllHandler} InitialState"
# AllHandler="${AllHandler} KineticLaw"
# AllHandler="${AllHandler} Layout"
# AllHandler="${AllHandler} LinearGradient"
# AllHandler="${AllHandler} LineEnding"
# AllHandler="${AllHandler} LineSegment"
# AllHandler="${AllHandler} ListOf"
# AllHandler="${AllHandler} ListOfCurveSegments"
# AllHandler="${AllHandler} ListOfGradientDefinitions"
# AllHandler="${AllHandler} ListOfLayouts"
# AllHandler="${AllHandler} MathML"
# AllHandler="${AllHandler} Metabolite"
# AllHandler="${AllHandler} MetaboliteGlyph"
# AllHandler="${AllHandler} MetaboliteReferenceGlyph"
# AllHandler="${AllHandler} Method"
# AllHandler="${AllHandler} MiriamAnnotation"
# AllHandler="${AllHandler} Model"
# AllHandler="${AllHandler} ModelParameter"
# AllHandler="${AllHandler} ModelParameterGroup"
# AllHandler="${AllHandler} ModelParameterSet"
# AllHandler="${AllHandler} ModelValue"
# AllHandler="${AllHandler} Modifier"
# AllHandler="${AllHandler} Object"
# AllHandler="${AllHandler} Parameter"
# AllHandler="${AllHandler} ParameterDescription"
# AllHandler="${AllHandler} ParameterGroup"
# AllHandler="${AllHandler} ParameterText"
# AllHandler="${AllHandler} PlotItem"
# AllHandler="${AllHandler} PlotSpecification"
# AllHandler="${AllHandler} Polygon"
# AllHandler="${AllHandler} Position"
# AllHandler="${AllHandler} Product"
# AllHandler="${AllHandler} RadialGradient"
# AllHandler="${AllHandler} Reaction"
# AllHandler="${AllHandler} ReactionGlyph"
# AllHandler="${AllHandler} Rectangle"
# AllHandler="${AllHandler} RenderCurve"
# AllHandler="${AllHandler} RenderCurveElement"
# AllHandler="${AllHandler} RenderInformation"
# AllHandler="${AllHandler} RenderText"
# AllHandler="${AllHandler} ReportDefinition"
# AllHandler="${AllHandler} ReportSection"
# AllHandler="${AllHandler} ReportTarget"
# AllHandler="${AllHandler} SBMLMap"
# AllHandler="${AllHandler} Slider"
# AllHandler="${AllHandler} SourceParameter"
# AllHandler="${AllHandler} StateTemplate"
# AllHandler="${AllHandler} StateTemplateVariable"
# AllHandler="${AllHandler} Style"
# AllHandler="${AllHandler} Substrate"
# AllHandler="${AllHandler} Table"
# AllHandler="${AllHandler} Task"
# AllHandler="${AllHandler} TextGlyph"
# AllHandler="${AllHandler} UnitDefinition"
# AllHandler="${AllHandler} UNKNOWN"
# AllHandler="${AllHandler} UnsupportedAnnotation"

for h in ${AllHandler}; do
  sed 's/Template/'${h}'/g' Handler.h.template > ${h}Handler.h
  sed 's/Template/'${h}'/g' Handler.cpp.template > ${h}Handler.cpp
done
