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     * @throws BadUserNameException when needed
020     * @throws BadSystemNameException when needed
021     */
022    public DefaultInternalNamedTable(
023            @Nonnull String sys, @CheckForNull String user,
024            int numRows, int numColumns)
025            throws BadUserNameException, BadSystemNameException {
026        super(sys,user,numRows,numColumns);
027    }
028    
029    /**
030     * Create a new named table with an existing array of cells.
031     * Row 0 has the column names and column 0 has the row names.
032     * @param systemName the system name
033     * @param userName the user name
034     * @param data the data in the table. Note that this data is not copied to
035     * an new array but used by the table as is.
036     * @throws BadUserNameException when needed
037     * @throws BadSystemNameException when needed
038     */
039    public DefaultInternalNamedTable(
040            @Nonnull String systemName, @CheckForNull String userName,
041            @Nonnull Object[][] data)
042            throws BadUserNameException, BadSystemNameException {
043        super(systemName,userName,data);
044    }
045    
046}