nxt.http

## Class APIServlet.APIRequestHandler

- java.lang.Object
- - nxt.http.APIServlet.APIRequestHandler

- Direct Known Subclasses:
    AddPeer, ApproveTransaction, BlacklistAPIProxyPeer, BlacklistPeer, BootstrapAPIProxy, BroadcastTransaction, BuyAlias, CalculateFullHash, CancelAskOrder, CancelBidOrder, CanDeleteCurrency, CastVote, ClearUnconfirmedTransactions, CreatePoll, CurrencyBuy, CurrencyMint, CurrencyReserveClaim, CurrencyReserveIncrease, CurrencySell, DecodeFileToken, DecodeHallmark, DecodeQRCode, DecodeToken, DecryptFrom, DeleteAccountProperty, DeleteAlias, DeleteAssetProperty, DeleteAssetShares, DeleteCurrency, DeleteScheduledTransaction, DetectMimeType, DGSDelisting, DGSDelivery, DGSFeedback, DGSListing, DGSPriceChange, DGSPurchase, DGSQuantityChange, DGSRefund, DividendPayment, DownloadPrunableMessage, DownloadTaggedData, DumpPeers, EncodeQRCode, EncryptTo, EventRegister, EventWait, ExtendTaggedData, FullHashToId, FullReset, GenerateFileToken, GenerateToken, GetAccount, GetAccountAssetCount, GetAccountAssets, GetAccountBlockCount, GetAccountBlockIds, GetAccountBlocks, GetAccountCurrencies, GetAccountCurrencyCount, GetAccountCurrentAskOrderIds, GetAccountCurrentAskOrders, GetAccountCurrentBidOrderIds, GetAccountCurrentBidOrders, GetAccountExchangeRequests, GetAccountId, GetAccountLedger, GetAccountLedgerEntry, GetAccountLessors, GetAccountPhasedTransactionCount, GetAccountPhasedTransactions, GetAccountProperties, GetAccountPublicKey, GetAccountShufflings, GetAccountTaggedData, GetAlias, GetAliasCount, GetAliases, GetAliasesLike, GetAllAssets, GetAllBroadcastedTransactions, GetAllCurrencies, GetAllExchanges, GetAllOpenAskOrders, GetAllOpenBidOrders, GetAllPhasingOnlyControls, GetAllPrunableMessages, GetAllShufflings, GetAllTaggedData, GetAllTrades, GetAllWaitingTransactions, GetAskOrder, GetAskOrderIds, GetAskOrders, GetAsset, GetAssetAccountCount, GetAssetAccounts, GetAssetDeletes, GetAssetDividends, GetAssetHistory, GetAssetIds, GetAssetPhasedTransactions, GetAssetProperties, GetAssets, GetAssetsByIssuer, GetAssetTransfers, GetAssignedShufflings, GetAvailableToBuy, GetAvailableToSell, GetBalance, GetBidOrder, GetBidOrderIds, GetBidOrders, GetBlock, GetBlockchainStatus, GetBlockchainTransactions, GetBlockId, GetBlocks, GetBuyOffers, GetChannelTaggedData, GetConstants, GetCurrencies, GetCurrenciesByIssuer, GetCurrency, GetCurrencyAccountCount, GetCurrencyAccounts, GetCurrencyFounders, GetCurrencyIds, GetCurrencyPhasedTransactions, GetCurrencyTransfers, GetDataTagCount, GetDataTags, GetDataTagsLike, GetDGSExpiredPurchases, GetDGSGood, GetDGSGoods, GetDGSGoodsCount, GetDGSGoodsPurchaseCount, GetDGSGoodsPurchases, GetDGSPendingPurchases, GetDGSPurchase, GetDGSPurchaseCount, GetDGSPurchases, GetDGSTagCount, GetDGSTags, GetDGSTagsLike, GetECBlock, GetEpochTime, GetExchanges, GetExchangesByExchangeRequest, GetExchangesByOffer, GetExpectedAskOrders, GetExpectedAssetDeletes, GetExpectedAssetTransfers, GetExpectedBidOrders, GetExpectedBuyOffers, GetExpectedCurrencyTransfers, GetExpectedExchangeRequests, GetExpectedOrderCancellations, GetExpectedSellOffers, GetExpectedTransactions, GetForging, GetFundingMonitor, GetGuaranteedBalance, GetHoldingShufflings, GetInboundPeers, GetLastExchanges, GetLastTrades, GetLinkedPhasedTransactions, GetLog, GetMintingTarget, GetMyInfo, GetNextBlockGenerators, GetNextBlockGeneratorsTemp, GetOffer, GetOrderTrades, GetPeer, GetPeers, GetPhasingOnlyControl, GetPhasingPoll, GetPhasingPolls, GetPhasingPollVote, GetPhasingPollVotes, GetPlugins, GetPoll, GetPollResult, GetPolls, GetPollVote, GetPollVotes, GetPrunableMessage, GetPrunableMessages, GetReferencingTransactions, GetScheduledTransactions, GetSellOffers, GetSharedKey, GetShufflers, GetShuffling, GetShufflingParticipants, GetStackTraces, GetState, GetTaggedData, GetTaggedDataExtendTransactions, GetTime, GetTrades, GetTransaction, GetTransactionBytes, GetUnconfirmedTransactionIds, GetUnconfirmedTransactions, GetVoterPhasedTransactions, Hash, HexConvert, IncreaseAssetShares, IssueAsset, IssueCurrency, JPLSnapshot.JPLSnapshotAPI, LeaseBalance, LongConvert, LuceneReindex, ManagePeersNetworking, MarkHost, ParseTransaction, PlaceAskOrder, PlaceBidOrder, PopOff, PublishExchangeOffer, ReadMessage, RebroadcastUnconfirmedTransactions, RequeueUnconfirmedTransactions, RetrievePrunedData, RetrievePrunedTransaction, RSConvert, Scan, ScheduleCurrencyBuy, SearchAccounts, SearchAssets, SearchCurrencies, SearchDGSGoods, SearchPolls, SearchTaggedData, SellAlias, SendMessage, SendMoney, SendTransaction, SetAccountInfo, SetAccountProperty, SetAlias, SetAPIProxyPeer, SetAssetProperty, SetLogging, SetPhasingOnlyControl, ShufflingCancel, ShufflingCreate, ShufflingProcess, ShufflingRegister, ShufflingVerify, Shutdown, SignTransaction, StartForging, StartFundingMonitor, StartShuffler, StopForging, StopFundingMonitor, StopShuffler, TransferAsset, TransferCurrency, TrimDerivedTables, UploadTaggedData, VerifyPrunableMessage, VerifyTaggedData
  Enclosing class:
    APIServlet

      public abstract static class APIServlet.APIRequestHandler
      extends java.lang.Object

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `APIRequestHandler(APITag[] apiTags, java.lang.String... parameters)`
    `protected` | `APIRequestHandler(java.lang.String fileParameter, APITag[] apiTags, java.lang.String... origParameters)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `allowRequiredBlockParameters()`
    `java.util.Set<APITag>` | `getAPITags()`
    `java.lang.String` | `getFileParameter()`
    `java.util.List<java.lang.String>` | `getParameters()`
    `protected boolean` | `isPassword(java.lang.String parameter)`
    `protected boolean` | `isTextArea(java.lang.String parameter)`
    `protected abstract org.json.simple.JSONStreamAware` | `processRequest(javax.servlet.http.HttpServletRequest request)`
    `protected org.json.simple.JSONStreamAware` | `processRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`
    `protected boolean` | `requireBlockchain()`
    `protected boolean` | `requireFullClient()`
    `protected boolean` | `requirePassword()`
    `protected boolean` | `requirePost()`
    `protected boolean` | `startDbTransaction()`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### APIRequestHandler

          protected APIRequestHandler(APITag[] apiTags,
                                      java.lang.String... parameters)

    - #### APIRequestHandler

          protected APIRequestHandler(java.lang.String fileParameter,
                                      APITag[] apiTags,
                                      java.lang.String... origParameters)

  - ### Method Detail

    - #### getParameters

          public final java.util.List<java.lang.String> getParameters()

    - #### getAPITags

          public final java.util.Set<APITag> getAPITags()

    - #### getFileParameter

          public final java.lang.String getFileParameter()

    - #### processRequest

          protected abstract org.json.simple.JSONStreamAware processRequest(javax.servlet.http.HttpServletRequest request)
                                                                     throws NxtException

      Throws:
        `NxtException`

    - #### processRequest

          protected org.json.simple.JSONStreamAware processRequest(javax.servlet.http.HttpServletRequest request,
                                                                   javax.servlet.http.HttpServletResponse response)
                                                            throws NxtException

      Throws:
        `NxtException`

    - #### requirePost

          protected boolean requirePost()

    - #### startDbTransaction

          protected boolean startDbTransaction()

    - #### requirePassword

          protected boolean requirePassword()

    - #### allowRequiredBlockParameters

          protected boolean allowRequiredBlockParameters()

    - #### requireBlockchain

          protected boolean requireBlockchain()

    - #### requireFullClient

          protected boolean requireFullClient()

    - #### isTextArea

          protected boolean isTextArea(java.lang.String parameter)

    - #### isPassword

          protected boolean isPassword(java.lang.String parameter)