From e019d6ae575a6ec97472b6aa3027815e570a9db7 Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Fri, 1 Sep 2006 01:01:19 +0000 Subject: Removed not so useful class. --- .../amazon/carbonado/spi/RunnableTransaction.java | 114 --------------------- 1 file changed, 114 deletions(-) delete mode 100644 src/main/java/com/amazon/carbonado/spi/RunnableTransaction.java (limited to 'src/main/java/com/amazon/carbonado') diff --git a/src/main/java/com/amazon/carbonado/spi/RunnableTransaction.java b/src/main/java/com/amazon/carbonado/spi/RunnableTransaction.java deleted file mode 100644 index 5ad3517..0000000 --- a/src/main/java/com/amazon/carbonado/spi/RunnableTransaction.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 2006 Amazon Technologies, Inc. or its affiliates. - * Amazon, Amazon.com and Carbonado are trademarks or registered trademarks - * of Amazon Technologies, Inc. or its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.amazon.carbonado.spi; - -import com.amazon.carbonado.Repository; -import com.amazon.carbonado.Transaction; -import com.amazon.carbonado.Storable; -import com.amazon.carbonado.PersistException; - -/** - * Neatly scope a transactional operation. To use, a subclass of RunnableTransaction should be - * provided which implements any one of the three flavors of the body method. - * The default implementations pass control from most specific to least specific -- that is, - * from {@link #body(Storable)} to {@link #body()} -- so the - * implementor is free to override whichever makes the most sense. - * - *

A typical use pattern would be: - * - *

- *  RunnableTransaction rt = new RunnableTransaction(repository) {
- *      public void body() throws PersistException {
- *        for (Storable s : someFieldContainingStorables) {
- *            s.insert();
- *       }
- *  };
- *  rt.run();
- * 
- * - * @author Don Schneider - * @author Todd V. Jonker (jonker) - */ -public class RunnableTransaction { - final Repository mRepo; - - public RunnableTransaction(Repository repo) { - mRepo = repo; - } - - /** - * Enter a transaction, execute {@link #body(Storable)} for each storable, commit - * if no exception, and exit the transaction. - * @param storables array of storables on which to operate - * @throws PersistException - */ - public final void run(S storable, S... storables) - throws PersistException - { - Transaction txn = mRepo.enterTransaction(); - try { - for (S s : storables) { - body(s); - } - txn.commit(); - } finally { - txn.exit(); - } - } - - /** - * Enter a transaction, execute {@link #body(Storable)} on the provided storable, commit if no - * exception, and exit the transaction. - * @param storable on which to operate - * @throws PersistException - */ - public final void run(S storable) throws PersistException { - Transaction txn = mRepo.enterTransaction(); - try { - body(storable); - txn.commit(); - } finally { - txn.exit(); - } - } - - /** - * Enter a transaction on the provided repository, execute {@link #body()} - * @throws PersistException - */ - public final void run() throws PersistException { - Transaction txn = mRepo.enterTransaction(); - try { - body(); - txn.commit(); - } finally { - txn.exit(); - } - } - - public void body(S s) throws PersistException { - body(); - } - - public void body() throws PersistException { - } - - public String toString() { - return "RunnableTransaction(" + mRepo + ')'; - } -} -- cgit v1.2.3