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