@Override public void revert() { throw new ReadonlyTransactionException(); }
@Override public boolean flush() { throw new ReadonlyTransactionException(); }
@Override void storeRemoved(@NotNull final StoreImpl store) { throw new ReadonlyTransactionException(); }
@Override public void setCommitHook(@Nullable final Runnable hook) { throw new ReadonlyTransactionException(); }
private boolean throwCantModify(Transaction txn) { if (txn.isReadonly()) { throw new ReadonlyTransactionException(); } throw new UnsupportedOperationException("Can't modify temporary empty store"); } }
static ReadWriteTransaction throwIfReadonly(@NotNull final Transaction txn, @NotNull final String exceptionMessage) { if (txn.isReadonly()) { throw new ReadonlyTransactionException(exceptionMessage); } return (ReadWriteTransaction) txn; }
@Override public boolean commit() { if (!isExclusive()) { throw new ReadonlyTransactionException(); } return true; }
@NotNull public ReadWriteTransaction beginGCTransaction() { if (ec.getEnvIsReadonly()) { throw new ReadonlyTransactionException("Can't start GC transaction on read-only Environment"); } return new ReadWriteTransaction(this, null, ec.getGcUseExclusiveTransaction(), true) { @Override boolean isGCTransaction() { return true; } }; }
private boolean throwCantModify() { if (getEnvironment().getEnvironmentConfig().getEnvIsReadonly()) { throw new ReadonlyTransactionException(); } throw new UnsupportedOperationException("Can't modify temporary empty store"); } }