public class SimpleMemStorage extends AbstractMemStorage { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Abstract methods implementation //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /** * {@inheritDoc} */ @Override public RowDefinition getRowDefinition() throws ModelException { RowDefinition rowdef = new RowDefinition(); rowdef.addColumnDefinition(new ColumnDefinition("ID", new BigDecimalDataType())); rowdef.addColumnDefinition(new ColumnDefinition("NAME", new StringDataType())); rowdef.addColumnDefinition(new ColumnDefinition("PATH", new StringDataType())); rowdef.setPrimaryKeyColumnNames(new String[] {"ID"}); rowdef.setColumnView(null, new ColumnView("ID", "NAME")); return rowdef; } /** * {@inheritDoc} */ @Override public void loadData(MemDataBook pBook, ICondition pFilter) throws ModelException { pBook.deleteAllDataRows(); pBook.insert(false); pBook.setValues(new String[] {"ID", "NAME", "PATH"}, new Object[] {BigDecimal.valueOf(0), "First", "/home/first"}); pBook.insert(false); pBook.setValues(new String[] {"ID", "NAME", "PATH"}, new Object[] {BigDecimal.valueOf(1), "Second", "/home/second"}); pBook.insert(false); pBook.setValues(new String[] {"ID", "NAME", "PATH"}, new Object[] {BigDecimal.valueOf(2), "Third", "/home/third"}); } /** * {@inheritDoc} */ @Override public void insert(DataBookEvent pEvent) throws ModelException { if ("error".equals(pEvent.getChangedDataBook().getValueAsString("NAME"))) { throw new ModelException("not allowed"); } } @Override public void delete(DataBookEvent pEvent) { } @Override public void update(DataBookEvent pEvent) throws ModelException { if ("error".equals(pEvent.getChangedDataBook().getValueAsString("NAME"))) { throw new ModelException("not allowed"); } } } // SimpleMemStorage