• Platform
    • Manager
    • Maestro
    • Exchange
    • Workspaces
    • Analytics
    • Springboard
    • API
Journey SDK

Journey SDK

  • Getting Started
  • Developer Guide
  • References
  • Services Guide

›Classes

com.avoka.tm.func

  • com.avoka.tm.func
  • Classes

    • Class DeliveryFuncResult
    • Class DeliveryFuncResultBuilder
    • Class FormFuncResult
    • Class FuncParam

    Interface

    • Interface IFluentFunction

com.avoka.tm.http

  • com.avoka.tm.http
  • Classes

    • Class DeleteRequest
    • Class GetRequest
    • Class HttpRequest
    • Class HttpRequest.FileParam
    • Class HttpRequest.Param
    • Class HttpResponse
    • Class PatchRequest
    • Class PostRequest
    • Class PutRequest
    • Class RequestBuilder

com.avoka.tm.job

  • com.avoka.tm.job
  • Classes

    • Class ActionResult
    • Class ActionResultBuilder
    • Class Jobs

com.avoka.tm.query

  • com.avoka.tm.query
  • Classes

    • Class JobQuery
    • Class PropertyQuery
    • Class RefDataQuery
    • Class SpaceQuery
    • Class SvcConnQuery
    • Class SvcDefQuery
    • Class TxnHistoryQuery
    • Class TxnQuery
    • Class UserQuery

    Enum

    • Enum TxnHistoryQuery.Time
    • Enum TxnQuery.Time

com.avoka.tm.security

  • com.avoka.tm.security
  • Classes

    • Class Saml2Parser
    • Class Saml2ParserResult
    • Class SsoAuthToken

com.avoka.tm.svc

  • com.avoka.tm.svc
  • Classes

    • Class DeliveryTxnBuilder
    • Class Emailer
    • Class ErrorLogger
    • Class EventLogger
    • Class FluentFuncInvoker
    • Class GroovyServiceInvoker
    • Class JobUpdater
    • Class PropertyBuilder
    • Class ReceiptSvc
    • Class RefDataSvc
    • Class ServiceInvoker
    • Class SvcConnUpdater
    • Class TrackingCodeBuilder
    • Class TxnBuilder
    • Class TxnCheckpointSvc
    • Class TxnUpdater
    • Class UserBuilder

com.avoka.tm.test

  • com.avoka.tm.test
  • Classes

    • Class AbstractJUnitTest
    • Class JUnitTestRunner
    • Class JUnitTestRunner.TestWrapper
    • Class MockRegister
    • Class MockRequest
    • Class MockResponse
    • Class MockServletContext
    • Class MockVoBuilder

    Exception

    • junittestexception

com.avoka.tm.util

  • com.avoka.tm.util
  • Classes

    • Class Contract
    • Class DeliveryResult
    • Class DeliveryResultBuilder
    • Class Logger
    • Class MemCache
    • Class ObjectMapper
    • Class Path
    • Class Security
    • Class Threads
    • Class TxnUrlBuilder
    • Class VelTemplate
    • Class XmlDoc

    Enum

    • Enum ObjectMapper.MappingStrategy

    Exception

    • redirectexception

com.avoka.tm.vo

  • com.avoka.tm.vo
  • Classes

    • Class FileAttach
    • Class Form
    • Class Job
    • Class JobAction
    • Class JobStep
    • Class Space
    • Class SvcConn
    • Class SvcDef
    • Class Txn
    • Class TxnCheckpoint
    • Class TxnDeliveryFunc
    • Class User

Class TrackingCodeBuilder

public class TrackingCodeBuilder
extends java.lang.Object
Provides a unique random tracking code builder. The build method will ensure the tracking number is globally unique across both transaction and transaction history tables. If an existing tracking code is found, the build method will continue to generate a new tracking codes until it has created a globally unique value. If a unique value has not been generated after 100 attempts a IllegalArgumentException will be thrown. Examples Please find the tracking code builder examples below.

Create Transaction Tracking Code

The example below is creating an unique transaction tracking code and prefixing it with the form code and postfixing it with a test environment indicator.
 class FluentTrackingNumberService {
     String invoke(SvcDef svcDef, Form form, HttpServletRequest request, User user) {
         return new TrackingCodeBuilder()
             .setPrefix(form.formCode + "-")
             .setPostfix("-TEST")
             .build()
     }
 } 
Since:
5.0.0

Constructor Summary

Constructors
Constructor Description
TrackingCodeBuilder()

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
java.lang.String build() Return a new random transaction tracking code (tracking number) for the specified properties.
TrackingCodeBuilder setPostfix​(java.lang.String postfix) Set the tracking code value to postfix random component.
TrackingCodeBuilder setPrefix​(java.lang.String prefix) Set the tracking code value to prefix random component.
TrackingCodeBuilder setRandomChars​(java.lang.String randomChars) Set the character values to be used in the random component.
TrackingCodeBuilder setRandomLength​(int randomLength) Set the random component character length.
boolean trackingCodeExists​(java.lang.String trackingCode) Return true if the specified tracking code is already used.

Methods inherited from class java.lang.Object

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

Constructor Detail

TrackingCodeBuilder

public TrackingCodeBuilder()

Method Detail

setPrefix

public TrackingCodeBuilder setPrefix​(java.lang.String prefix) Set the tracking code value to prefix random component.
Parameters:
prefix - the tracking code prefix
Returns:
the tracking code builder

setPostfix

public TrackingCodeBuilder setPostfix​(java.lang.String postfix) Set the tracking code value to postfix random component.
Parameters:
postfix - the tracking code post
Returns:
the tracking code builder

setRandomLength

public TrackingCodeBuilder setRandomLength​(int randomLength) Set the random component character length. The default length is 7.
Parameters:
randomLength - the random component character length
Returns:
the tracking code builder

setRandomChars

public TrackingCodeBuilder setRandomChars​(java.lang.String randomChars) Set the character values to be used in the random component. The default values include: BCDFGHJKLMNPQRSTVWXYZ23456789
Parameters:
randomChars - the character values to be used in the random component.
Returns:
the tracking code builder

trackingCodeExists

public boolean trackingCodeExists​(java.lang.String trackingCode) Return true if the specified tracking code is already used.
Parameters:
trackingCode - the tracking code value to check (must not be null or an empty string)
Returns:
true if the tracking code value is already in use or there was an error during lookup

build

public java.lang.String build() Return a new random transaction tracking code (tracking number) for the specified properties. This method will ensure the tracking number is globally unique across both transaction and transaction history tables. If an existing tracking code is found, this method will continue to generate a new tracking codes until a globally unique value is found. If this method cannot generate a unique value after 10 attempts it will throw an IllegalArgumentException If a unique tracking code is found, the code is also stored in the tracking_number table that records all unique codes.
Returns:
new random transaction tracking code (tracking number) for the specified properties.
← Class SvcConnUpdaterClass TxnBuilder →

Terms & Conditions

Privacy Policy

Cookie Policy

Copyright © 2003-2022 Temenos Headquarters SA