# Class TxnLogProposalIterator

java.lang.Object
org.apache.zookeeper.server.TxnLogProposalIterator

All Implemented Interfaces:
  `Iterator<Leader.Proposal>`

public class TxnLogProposalIterator extends Object implements Iterator<Leader.Proposal>
This class provides an iterator interface to access Proposal deserialized from on-disk txnlog. The iterator deserializes one proposal at a time to reduce memory footprint. Note that the request part of the proposal is not initialized and set to null since we don't need it during follower sync-up.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final TxnLogProposalIterator`
`EMPTY_ITERATOR`

## Constructor Summary

Constructors
Constructor
Description
`TxnLogProposalIterator(TxnLog.TxnIterator itr)`

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Close the files and release the resources which are used for iterating transaction records
`boolean`
`hasNext()`
`Leader.Proposal`
`next()`
Proposal returned by this iterator has request part set to null, since it is not used for follower sync-up.
`void`
`remove()`

### Methods inherited from class Object

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

### Methods inherited from interface Iterator

`forEachRemaining`

## Field Details

### EMPTY_ITERATOR

public static final TxnLogProposalIterator EMPTY_ITERATOR

## Constructor Details

### TxnLogProposalIterator

public TxnLogProposalIterator(TxnLog.TxnIterator itr)

## Method Details

### hasNext

public boolean hasNext()

Specified by:
  `hasNext` in interface `Iterator<Leader.Proposal>`

### next

public Leader.Proposal next()
Proposal returned by this iterator has request part set to null, since it is not used for follower sync-up.

Specified by:
  `next` in interface `Iterator<Leader.Proposal>`

### remove

public void remove()

Specified by:
  `remove` in interface `Iterator<Leader.Proposal>`

### close

public void close()
Close the files and release the resources which are used for iterating transaction records