private void appendIndex(ComplexIndex<?>[] indices, ComplexIndex<?> indx) { for (int i = 0; i < indices.length; i++) { if (indices[i] == null) { indices[i] = indx; return; } if (indices[i] == indx) { return; } } throw Errors.rte("Too many indices!"); }
private E newEntity() { try { return constr.newInstance(); } catch (Exception e) { throw Errors.rte(e); } }
@Override public synchronized void changed(long key) { if (state != TxState.INITIAL && state != TxState.RESET) { throw Errors.rte("Cannot write to freezed transaction!"); } changed.add(key); }
@Override public synchronized void write(long key, Object value) { if (state != TxState.INITIAL && state != TxState.RESET) { throw Errors.rte("Cannot write to freezed transaction!"); } values.put(key, value); }
@Override public Object get(Object obj) { try { if (field != null) { return field.get(obj); } else { return getter.invoke(obj); } } catch (Exception e) { throw Errors.rte(e); } }
public void set(Object obj, Object value) { try { if (field != null) { field.set(obj, value); } else { setter.invoke(obj, value); } } catch (Exception e) { throw Errors.rte(e); } }
@SuppressWarnings("unchecked") private Constructor<E> findConstructor() { Constructor<?>[] constructors = clazz.getDeclaredConstructors(); for (Constructor<?> constructor : constructors) { if (constructor.getParameterTypes().length == 0) { Constructor<E> cons = (Constructor<E>) constructor; cons.setAccessible(true); return cons; } } throw Errors.rte("Couldn't find 0-params constructor for class: " + clazz); }
@Override public synchronized void delete(long key) { if (state != TxState.INITIAL && state != TxState.RESET) { throw Errors.rte("Cannot write to freezed transaction!"); } values.remove(key); changed.remove(key); deleted.add(key); }
@SuppressWarnings("unchecked") private Constructor<E> findConstructor() { Constructor<?>[] constructors = clazz.getDeclaredConstructors(); for (Constructor<?> constructor : constructors) { if (constructor.getParameterTypes().length == 0) { Constructor<E> cons = (Constructor<E>) constructor; cons.setAccessible(true); return cons; } } throw Errors.rte("Couldn't find 0-params constructor for class: " + clazz); }
@Override public void set(int row, Object value) { Object instance = row(row); try { field.set(instance, value); } catch (Exception e) { throw Errors.rte("Cannot get field value!", e); } }
@Override public Object get(int row) { Object instance = row(row); try { return field.get(instance); } catch (Exception e) { throw Errors.rte("Cannot get field value!", e); } }
@Override public Object get(int row) { Object instance = row(row); try { return getter.invoke(instance); } catch (Exception e) { throw Errors.rte("Cannot get field value!", e); } }
@SuppressWarnings("unchecked") @Override public synchronized <T> Table<T> table(String fullClassname) { try { Class<T> clazz = (Class<T>) Class.forName(fullClassname); return table(clazz); } catch (ClassNotFoundException e) { throw Errors.rte(e); } }
@Override public void set(int row, Object value) { Object instance = row(row); try { setter.invoke(instance, value); } catch (Exception e) { throw Errors.rte("Cannot get field value!", e); } }
@Override public void set(int row, Object value) { Object instance = row(row); try { field.set(instance, value); } catch (Exception e) { throw Errors.rte("Cannot get field value!", e); } }
@Override public void set(int row, Object value) { Object instance = row(row); try { setter.invoke(instance, value); } catch (Exception e) { throw Errors.rte("Cannot get field value!", e); } }
@Override public Object delete(int row) { Object instance = row(row); try { return getter.invoke(instance); } catch (Exception e) { throw Errors.rte("Cannot get field value!", e); } }
@SuppressWarnings("unchecked") @Override public synchronized <T> Table<T> table(String fullClassname) { try { Class<T> clazz = (Class<T>) Class.forName(fullClassname); return table(clazz); } catch (ClassNotFoundException e) { throw Errors.rte(e); } }
@Override public void shutdown() { super.shutdown(); while (!finished.get()) { U.sleep(10); } try { file.close(); } catch (IOException e) { throw Errors.rte("Couldn't close database file!", e); } }
@Override public void shutdown() { super.shutdown(); while (!finished.get()) { U.sleep(10); } try { file.close(); } catch (IOException e) { throw Errors.rte("Couldn't close database file!", e); } }