| ReportMill | This class is used as a helper object by RMDocument to generate a report. | 
| RMArrayUtils | A collection of array utility methods. | 
| RMAWTUtils | This class has a bunch of convenience utility methods from drawing lines, RMRects, buttons, etc. | 
| RMByteArray | This class is like a StringBuffer for bytes instead of chars. | 
| RMClassUtils | Utility methods for Class. | 
| RMCodec | This class has utility methods to code and decode into various different formats: hex, ASCII85, base 64. | 
| RMCSVReader | A class for reading file of comma separated values, or really any separated values. | 
| RMDataSource | This class is used as a proxy for objects passed to document's generateReport() method. | 
| RMDateFormat | This is just a SimpleDateFormat subclass to support RM archiving and legacy formats. | 
| RMDateUtils | Utility methods for Java Date. | 
| RMEnumUtils | Utilities for enums. | 
| RMExtras | This file is just meant to hold various utility methods that customers have asked for. | 
| RMExtras.Movie | A movie class. | 
| RMExtras.MovieRole | A movie role class. | 
| RMExtras.Studio | A movie class. | 
| RMFileUtils | Utility methods for file. | 
| RMGroup | This class is a smart List subclass used to hold objects from an original list broken down by grouping keys. | 
| RMGroup.Running | This RMGroup subclass/inner-class represents a subset of a group up to the given endGroup. | 
| RMGrouper | This class simply manages a list of groupings and has some nice convenience methods. | 
| RMGrouping | This object represents an individual grouping with attributes like key, sorts, topN sort, etc. | 
| RMKey | This class provides an optimized convenience for getting named values from arbitrary objects. | 
| RMKey.KeyAccessor | KeyAccessor - enclosed class for actually getting/setting values for a given object (class) and key. | 
| RMKeyChain | This class evaluates a string expression on a given object: RMKeyChain.getValue(object, expression). | 
| RMKeyChainAggr | A class to evaluate keys on lists. | 
| RMKeyChainFuncs | This class represents an RM function call (method plus args) and defines a bunch of built-in functions. | 
| RMKeyList | A list implementation that tries to get objects from aKey+"Size" or aKey+"Count" and aKey(index), eg.,
 getThingCount(), getThing(index). | 
| RMKeyTimer | This class provides methods to set values (using RMKey) over time using an interpolator. | 
| RMKeyTimer.Record | A class representing an individual change to be animated by this timer. | 
| RMListenerList | A class that holds a list of instances for given class. | 
| RMListUtils | Utility methods for use with Java.util.List. | 
| RMLogger | This class provides a simple abstraction for logging messages. | 
| RMLogger.CompositeLogger | A logger to combine multiple other loggers. | 
| RMLogger.NoOp | A logger that does nothing. | 
| RMLogger.PrintStreamLogger | A logger that wraps around a print stream. | 
| RMLogger.Reader | A class to read lines from a given input stream in a separate thread and print them. | 
| RMMapUtils | Utility methods for use with Java.util.Map. | 
| RMMath | Utility methods for common math operations. | 
| RMMath.RMFunc | A class used to specify an arbitrary mathematical function. | 
| RMMethodUtils | Utility methods for method reflection. | 
| RMNumberFormat | This subclass extends DecimalFormat to implement ReportMill's RMFormat interface and to support the extended features
 "Negative in Red" and "Null String". | 
| RMObject | This class forms the basis of many objects to add global functionality, like archiving. | 
| RMPoint | This class extends Point2D.Float to add a few convenience methods. | 
| RMPrefsUtils | This class offers a number of useful general purpose utilities used by ribs classes. | 
| RMPrefsUtils.BogusPreferences | A Preferences implementation that just stores prefs to a map, in case we don't have permission
 to read & write permissions. | 
| RMPropertyChangeEvent | An (Indexed) PropertyChangeEvent subclass to describe shape property changes. | 
| RMPropertyChangeUtils | Utilities for property changes. | 
| RMRect | This class extends Rectanlge2D to add some convenient rect methods. | 
| RMRomanNumeralFormat | A utility class for converting an integer into roman numerals. | 
| RMSchemaMaker | This class makes a schema from an object graph, given a top level object. | 
| RMSize | This class represents a simple geometric size (width, height). | 
| RMSort | This class provides a basic description for comparison and sorting with a simple key and order (ascending or
 descending). | 
| RMSQLUtils | Utility methods for ResultSet. | 
| RMStringTokenizer | A string tokenizer that can provide token location. | 
| RMStringUtils | This class is a collection of convenient static String utils. | 
| RMTableOfContents | This Hashtable subclass provides page number information for table rows in a generated report for the purpose of
 generating a table of contents. | 
| RMTableOfContents.RowGroup | An inner class to assist flattening. | 
| RMTopNSort | This is a sort subclass to support sorting objects by their relative position in an array of values. | 
| RMUndoer | RMUndoer - this object manages undo by keeping lists of property changes. | 
| RMUndoSet | This class represents a single undo but holds a list of PropertyChangeEvents. | 
| RMURLUtils | Utilities for URL. | 
| RMUtils | This class provides a bunch of utility methods for common problems. | 
| RMValueSort | This is a sort subclass to support sorting objects by their relative position in an array of values. | 
| RMXMLReader | This class creates an object graph of collections (Map/List) and core Java types from a given XML source. | 
| RMXMLWriter | This class turns any Java dataset into XML. |