001package jmri.jmrit.logixng.implementation;
002
003import javax.annotation.CheckForNull;
004import javax.annotation.Nonnull;
005
006/**
007 * The default implementation of a NamedTable
008 * 
009 * @author Daniel Bergqvist 2018
010 */
011public class DefaultInternalNamedTable extends AbstractNamedTable {
012
013    /**
014     * Create a new named table.
015     * @param sys the system name
016     * @param user the user name or null if no user name
017     * @param numRows the number or rows in the table
018     * @param numColumns the number of columns in the table
019     */
020    public DefaultInternalNamedTable(
021            @Nonnull String sys, @CheckForNull String user,
022            int numRows, int numColumns)
023            throws BadUserNameException, BadSystemNameException {
024        super(sys,user,numRows,numColumns);
025    }
026    
027    /**
028     * Create a new named table with an existing array of cells.
029     * Row 0 has the column names and column 0 has the row names.
030     * @param systemName the system name
031     * @param userName the user name
032     * @param data the data in the table. Note that this data is not copied to
033     * an new array but used by the table as is.
034     */
035    public DefaultInternalNamedTable(
036            @Nonnull String systemName, @CheckForNull String userName,
037            @Nonnull Object[][] data)
038            throws BadUserNameException, BadSystemNameException {
039        super(systemName,userName,data);
040    }
041    
042}