ptolemy.codegen.kernel
Class CodeGeneratorUtilities

java.lang.Object
  extended by ptolemy.codegen.kernel.CodeGeneratorUtilities

public class CodeGeneratorUtilities
extends java.lang.Object

Utilities that are useful for code generators.

Since:
Ptolemy II 6.0
Version:
$Id: CodeGeneratorUtilities.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Christopher Brooks
Accepted Rating:
Red (cxh)
Proposed Rating:
Green (cxh)

Constructor Summary
CodeGeneratorUtilities()
           
 
Method Summary
static java.util.HashMap newMap(NamedObj namedObj)
          Given a NamedObj, generate a HashMap containing String key/value pairs where each key is a Variable contained in the namedObj argument, and each value is the value of the Variable.
static java.io.BufferedReader openAsFileOrURL(java.lang.String inputFileName)
          Given a string that names a file, URL or resource, try to open as a file, and then as a URL, then as a resource.
static void substitute(java.io.BufferedReader inputFile, java.util.Map substituteMap, java.lang.String outputFileName)
          Read in the contents of inputFile, and replace each matching String key found in substituteMap with the corresponding String value and write the results to outputFileName.
static java.lang.String substitute(java.lang.String input, java.util.Map substituteMap)
          Given a string and a Map containing String key/value pairs, substitute any keys found in the input with the corresponding values.
static void substitute(java.lang.String inputFileName, java.util.Map substituteMap, java.lang.String outputFileName)
          Read in the contents of inputFileName, and replace each matching String key found in substituteMap with the corresponding String value and write the results to outputFileName.
static java.lang.String substitute(java.lang.String inputFileName, NamedObj namedObj)
          Read in the contents of inputFileName, and for each Parameter in namedObj, search for strings like @ParameterName@ in inputFileName, and substitute in the value of the Parameter and return the results.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CodeGeneratorUtilities

public CodeGeneratorUtilities()
Method Detail

newMap

public static java.util.HashMap newMap(NamedObj namedObj)
                                throws IllegalActionException
Given a NamedObj, generate a HashMap containing String key/value pairs where each key is a Variable contained in the namedObj argument, and each value is the value of the Variable.

Parameters:
namedObj - The NamedObj that contains Variables
Returns:
The HashMap consisting of key/value Strings.
Throws:
IllegalActionException - If there is a problem getting the Variables.

openAsFileOrURL

public static java.io.BufferedReader openAsFileOrURL(java.lang.String inputFileName)
                                              throws java.io.FileNotFoundException,
                                                     java.io.IOException
Given a string that names a file, URL or resource, try to open as a file, and then as a URL, then as a resource.

Parameters:
inputFileName - The name of the file or URL to open
Returns:
A BufferedReader that refers to the inputFileName
Throws:
java.io.FileNotFoundException - If the file cannot be found.
java.io.IOException - If there were problems creating the BufferedReader.

substitute

public static java.lang.String substitute(java.lang.String input,
                                          java.util.Map substituteMap)
Given a string and a Map containing String key/value pairs, substitute any keys found in the input with the corresponding values.

Parameters:
input - The input string that contains substrings like "@codeBase@".
substituteMap - The Map of String keys like "@codeBase@" and String values like "../../..".
Returns:
A string with the keys properly substituted with their corresponding values.

substitute

public static java.lang.String substitute(java.lang.String inputFileName,
                                          NamedObj namedObj)
                                   throws java.io.FileNotFoundException,
                                          java.io.IOException
Read in the contents of inputFileName, and for each Parameter in namedObj, search for strings like @ParameterName@ in inputFileName, and substitute in the value of the Parameter and return the results.

Parameters:
inputFileName - The name of the file to read from.
namedObj - The NamedObj that contains Parameters to be searched for in inputFileName.
Returns:
The contents of inputFileName after doing the substitutions
Throws:
java.io.FileNotFoundException - If the input file cannot be found.
java.io.IOException - If there is a problem creating the substitution map.

substitute

public static void substitute(java.io.BufferedReader inputFile,
                              java.util.Map substituteMap,
                              java.lang.String outputFileName)
                       throws java.io.FileNotFoundException,
                              java.io.IOException
Read in the contents of inputFile, and replace each matching String key found in substituteMap with the corresponding String value and write the results to outputFileName.

Parameters:
inputFile - A BufferedReader that refers to the file to be read in. This BufferedReader is always closed by this method.
substituteMap - The Map of String keys like "@codeBase@" and String values like "../../..".
outputFileName - The name of the file to write to.
Throws:
java.io.FileNotFoundException - If the input file cannot be found.
java.io.IOException - If there is a problem creating the substitution map.
See Also:
substitute(String, Map, String)

substitute

public static void substitute(java.lang.String inputFileName,
                              java.util.Map substituteMap,
                              java.lang.String outputFileName)
                       throws java.io.FileNotFoundException,
                              java.io.IOException
Read in the contents of inputFileName, and replace each matching String key found in substituteMap with the corresponding String value and write the results to outputFileName.

Parameters:
inputFileName - The name of the file to read from.
substituteMap - The Map of String keys like "@codeBase@" and String values like "../../..".
outputFileName - The name of the file to write to.
Throws:
java.io.FileNotFoundException - If the input file cannot be found.
java.io.IOException - If there is a problem creating the substitution map.
See Also:
substitute(BufferedReader, Map, String)