Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2013 GraphAware
  *
  * This file is part of GraphAware.
  *
  * GraphAware is free software: you can redistribute it and/or modify it under the terms of
  * the GNU General Public License as published by the Free Software Foundation, either
  * version 3 of the License, or (at your option) any later version.
  *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details. You should have received a copy of
 * the GNU General Public License along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */
package com.graphaware.tx.executor.batch;
BatchTransactionExecutor which expects the execute() method to only ever be called at most once. After that, it must be discarded.
public abstract class DisposableBatchTransactionExecutor implements BatchTransactionExecutor {
    private final AtomicBoolean alreadyExecuted = new AtomicBoolean(false);

    
    @Override
    public void execute() {
        if (.compareAndSet(falsetrue)) {
            doExecute();
        } else {
            throw new IllegalStateException("DisposableBatchExecutor must only ever be executed once!");
        }
    }

    
Execute work in batches.
    protected abstract void doExecute();
New to GrepCode? Check out our FAQ X