Class SQLTableAlphaNamer

java.lang.Object
org.datanucleus.store.rdbms.sql.SQLTableAlphaNamer
All Implemented Interfaces:
SQLTableNamer

public class SQLTableAlphaNamer extends Object implements SQLTableNamer
SQLTable namer that generates names like A0, B1, C0, ... , Z0, AA0, AB0, ... etc. Tables are prefixed by a letter based on the table-group they are in, followed by a number being the number within that table-group. The candidate table-group will always be prefixed A when not predefined (i.e for JDOQL). Should handle up to 26x27 combinations (i.e 702). Anyone needing more than that has serious problems, as does their RDBMS.
  • Field Details

    • CHARS

      static String[] CHARS
  • Constructor Details

    • SQLTableAlphaNamer

      public SQLTableAlphaNamer()
  • Method Details

    • getAliasForTable

      public String getAliasForTable(SQLStatement stmt, Table table, String groupName)
      Description copied from interface: SQLTableNamer
      Method to return the alias to use for the specified table.
      Specified by:
      getAliasForTable in interface SQLTableNamer
      Parameters:
      stmt - The statement where we will use the table
      table - The table
      groupName - Name of the table group
      Returns:
      The alias to use
    • getLettersForNumber

      private String getLettersForNumber(int number)