# Class Transaction

java.lang.Object
org.apache.zookeeper.Transaction

@Public public class Transaction extends Object
Provides a builder style interface for doing multiple updates. This is really just a thin layer on top of Zookeeper.multi().

Since:
  3.4.0

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`Transaction(ZooKeeper zk)`

## Method Summary

Modifier and Type
Method
Description
`Transaction`
`check(String path, int version)`
`List<OpResult>`
`commit()`
`void`
`commit(AsyncCallback.MultiCallback cb, Object ctx)`
`Transaction`
`create(String path, byte[] data, List<ACL> acl, CreateMode createMode)`
`Transaction`
`delete(String path, int version)`
`Transaction`
`setData(String path, byte[] data, int version)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Transaction

protected Transaction(ZooKeeper zk)

## Method Details

### create

public Transaction create(String path, byte[] data, List<ACL> acl, CreateMode createMode)

### delete

public Transaction delete(String path, int version)

### check

public Transaction check(String path, int version)

### setData

public Transaction setData(String path, byte[] data, int version)

### commit

public List<OpResult> commit() throws InterruptedException, KeeperException

Throws:
  `InterruptedException`
  `KeeperException`

### commit

public void commit(AsyncCallback.MultiCallback cb, Object ctx)