SynFunctionTreeModel extends AbstractTreeTableModel implements ISyntacticalFunctionProvider { @Override public Object getValueAt(final Object reference, final int columnIndex) { if (reference == this.getRoot()) { return null; } if (this.topLevelGrouping.containsKey(reference)) { return this.getTopLevelGroupValueAt(reference, columnIndex); } if (this.rowMapping.containsKey(reference)) { return this.getEntryValueAt(reference, columnIndex); } throw new IllegalArgumentException(); } SynFunctionTreeModel(); void reset(final ISyntacticalFunctionProvider provider); @Override List<List<AbstractSyntacticalFunctionElement>> provideFunctions(); @Override int getColumnCount(); @Override boolean isCellEditable(final Object reference, final int columnIndex); @Override Object getValueAt(final Object reference, final int columnIndex); @Override UUID getChild(final Object parentReference, final int childIndex); @Override int getChildCount(final Object parentReference); @Override int getIndexOfChild(final Object parentReference, final Object childReference); TreePath addSynFunctionRow(final TreePath parentPath); TreePath addGroupRow(final TreePath parentPath); TreePath addTopLevelGroup(); void moveEntry(final TreePath targetPath, final boolean moveDown); void removeEntry(final TreePath targetPath); void updatedRow(final TreePath updatedPath);  }
@Test public void testGetValueAt_Root() { Assert.assertNull(this.model.getValueAt(this.root, 0)); }