nxt.blockchain

## Interface BlockchainProcessor

- All Superinterfaces:
    Observable<Block,BlockchainProcessor.Event>
  All Known Implementing Classes:
    BlockchainProcessorImpl

      public interface BlockchainProcessor
      extends Observable<Block,BlockchainProcessor.Event>

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `BlockchainProcessor.BlockNotAcceptedException`
    `static class` | `BlockchainProcessor.BlockOfLowerDifficultyException`
    `static class` | `BlockchainProcessor.BlockOutOfOrderException`
    `static class` | `BlockchainProcessor.Event`
    `static class` | `BlockchainProcessor.TransactionNotAcceptedException`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `fullReset()`
    `void` | `fullScanWithShutdown()`
    `long` | `getGenesisBlockId()`
    `int` | `getInitialScanHeight()`
    `Peer` | `getLastBlockchainFeeder()`
    `int` | `getLastBlockchainFeederHeight()`
    `int` | `getMinRollbackHeight()`
    `boolean` | `isDownloading()`
    `boolean` | `isDownloadSuspended()`
    `boolean` | `isProcessingBlock()`
    `boolean` | `isScanning()`
    `java.util.List<? extends Block>` | `popOffTo(int height)`
    `void` | `processPeerBlock(Block inputBlock)`
    `void` | `processPeerBlocks(java.util.List<Block> inputBlocks)`
    `void` | `registerDerivedTable(DerivedDbTable table)`
    `int` | `restorePrunedData(Chain chain)`
    `Transaction` | `restorePrunedTransaction(Chain chain, byte[] transactionFullHash)`
    `void` | `scan(int height, boolean validate)`
    `void` | `setGetMoreBlocks(boolean getMoreBlocks)`
    `void` | `suspendDownload(boolean suspend)`
    `void` | `trimDerivedTables()`

    - ### Methods inherited from interface nxt.util.Observable

      `addListener, removeListener`

- - ### Method Detail

    - #### getLastBlockchainFeeder

          Peer getLastBlockchainFeeder()

    - #### getLastBlockchainFeederHeight

          int getLastBlockchainFeederHeight()

    - #### isScanning

          boolean isScanning()

    - #### isDownloading

          boolean isDownloading()

    - #### isProcessingBlock

          boolean isProcessingBlock()

    - #### suspendDownload

          void suspendDownload(boolean suspend)

    - #### isDownloadSuspended

          boolean isDownloadSuspended()

    - #### getMinRollbackHeight

          int getMinRollbackHeight()

    - #### getInitialScanHeight

          int getInitialScanHeight()

    - #### processPeerBlock

          void processPeerBlock(Block inputBlock)
                         throws NxtException

      Throws:
        `NxtException`

    - #### processPeerBlocks

          void processPeerBlocks(java.util.List<Block> inputBlocks)
                          throws NxtException

      Throws:
        `NxtException`

    - #### fullReset

          void fullReset()

    - #### scan

          void scan(int height,
                    boolean validate)

    - #### fullScanWithShutdown

          void fullScanWithShutdown()

    - #### setGetMoreBlocks

          void setGetMoreBlocks(boolean getMoreBlocks)

    - #### popOffTo

          java.util.List<? extends Block> popOffTo(int height)

    - #### registerDerivedTable

          void registerDerivedTable(DerivedDbTable table)

    - #### trimDerivedTables

          void trimDerivedTables()

    - #### restorePrunedData

          int restorePrunedData(Chain chain)

    - #### restorePrunedTransaction

          Transaction restorePrunedTransaction(Chain chain,
                                               byte[] transactionFullHash)

    - #### getGenesisBlockId

          long getGenesisBlockId()