package jas.util;
/**
* This class is a utility provided for generating arbitrary names. It
* follows the pattern A, B, C, D, ... , Z, AA, BB, CC, DD, ... , ZZ, AAA, ...
* <p>
* It is used by some local data interface modules when field names are
* not specified, and it is used to assign names to the coefficents of
* polynomial functions.
*
* @author Jonas Gifford
*/
public class ArbitraryNameGenerator
{
/**
* Fills a String array with names.
* @param s the array to fill
*/
public void fillArray(String[] s)
{
char c = 'A';
if (s.length < 26) // the simple and predominant case
for (int i = 0; i < s.length; i++)
s[i] = String.valueOf(c++);
else // the highly unlikely case that there
// are more than 26 items
{
int nLetters = 1;
for (int i = 0; i < s.length; i++)
{
s[i] = "";
for (int j = 0; j < nLetters; j++)
s[i] += (c);
if (c == 'Z')
{
c = 'A';
nLetters++;
}
else
c++;
}
}
}
}