Class CodeGenerator

java.lang.Object
com.broadleafcommerce.promotion.offer.domain.CodeGenerator
All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.ContextStateAware, Serializable

public class CodeGenerator extends Object implements Serializable, com.broadleafcommerce.data.tracking.core.ContextStateAware
Author:
Chad Harchar (charchar)
See Also:
  • Field Details

    • createDate

      protected Instant createDate
      The date this generator was created.
    • updateDate

      protected Instant updateDate
      The date this generator was created.
    • emailRegEx

      protected String emailRegEx
      Provides a customer email validation when the generated codes are requested for use.
    • activeStartDate

      protected Instant activeStartDate
      Sets the Active Start Date for codes generated by this generator.
    • activeEndDate

      protected Instant activeEndDate
      Sets the Active End Date for codes generated by this generator.
  • Constructor Details

    • CodeGenerator

      public CodeGenerator()
  • Method Details

    • getId

      public String getId()
    • getCodePrefix

      public String getCodePrefix()
      Defines a prefix to updateUses when generating campaign codes for this campaign. This will default to Campaign.getCodePrefix(), if not set. This is intended to be used as an override, if required.
    • getNumberOfCodesToGenerate

      public int getNumberOfCodesToGenerate()
      The number of codes that will be generated
    • getNumberOfCodesGenerated

      public int getNumberOfCodesGenerated()
      The current number of codes that have been generated
    • getCodeGenerationStatus

      public String getCodeGenerationStatus()
      The current status
    • getCodeFormat

      public String getCodeFormat()
      The custom formatter for generating codes. Customer formatters allow for precise control of the code format. For example, consider "CF-##-@@-**-1" which might generate the following code "CF-99-AB-Z3-1". Each symbol is processed by the CodeGenerator. The default implementation is as follows: # is replaced by a random number (not including 0, 1, or 5) @ is replaced by a random character (not including 0, L, or S) * is replaced by random alphanumeric character (not including those mentioned above).
      Returns:
      See Also:
    • getCodeLength

      public Integer getCodeLength()
      The code length the generator should use when generating the codes.
    • getMaxUses

      public int getMaxUses()
      The maximum number of uses to set for each code generated.
    • getSegment

      public String getSegment()
      The segment to which this offer can apply.
    • getCreateDate

      public Instant getCreateDate()
      The date this generator was created.
    • getUpdateDate

      public Instant getUpdateDate()
      The date this generator was created.
    • getCodeGenerationMessage

      public String getCodeGenerationMessage()
      Returns a String with getNumberOfCodesGenerated() / getNumberOfCodesToGenerate() If those values are equal, just returns getNumberOfCodesGenerated() Provides an easy way to determine progress. This field is automatically updated.
    • getEmailRegEx

      public String getEmailRegEx()
      Provides a customer email validation when the generated codes are requested for use.
    • getActiveStartDate

      public Instant getActiveStartDate()
      Sets the Active Start Date for codes generated by this generator.
    • getActiveEndDate

      public Instant getActiveEndDate()
      Sets the Active End Date for codes generated by this generator.
    • getCampaignId

      public String getCampaignId()
      Defines the id for the campaign that originated this code generator.
    • getContextState

      public com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState getContextState()
      A subset of Tracking information to expose the context state for this object.
      Specified by:
      getContextState in interface com.broadleafcommerce.data.tracking.core.ContextStateAware
      Returns:
      a subset of Tracking information to expose the context state for this object
    • isVoucherCodeGenerator

      public boolean isVoucherCodeGenerator()
      Determines if this CodeGenerator is for voucher offers.
    • getAllowedLetters

      public String getAllowedLetters()
      Returns a String with the allowed letters to use when generating codes. If not set, code generation uses the character sets configured in CodeFormatAvailableCharHelper
    • getAllowedNumbers

      public String getAllowedNumbers()
      Returns a String with the allowed numbers to use when generating codes. If not set, code generation uses the character sets configured in CodeFormatAvailableCharHelper
    • setId

      public void setId(String id)
    • setCodePrefix

      public void setCodePrefix(String codePrefix)
      Defines a prefix to updateUses when generating campaign codes for this campaign. This will default to Campaign.getCodePrefix(), if not set. This is intended to be used as an override, if required.
    • setNumberOfCodesToGenerate

      public void setNumberOfCodesToGenerate(int numberOfCodesToGenerate)
      The number of codes that will be generated
    • setNumberOfCodesGenerated

      public void setNumberOfCodesGenerated(int numberOfCodesGenerated)
      The current number of codes that have been generated
    • setCodeGenerationStatus

      public void setCodeGenerationStatus(String codeGenerationStatus)
      The current status
    • setCodeFormat

      public void setCodeFormat(String codeFormat)
      The custom formatter for generating codes. Customer formatters allow for precise control of the code format. For example, consider "CF-##-@@-**-1" which might generate the following code "CF-99-AB-Z3-1". Each symbol is processed by the CodeGenerator. The default implementation is as follows: # is replaced by a random number (not including 0, 1, or 5) @ is replaced by a random character (not including 0, L, or S) * is replaced by random alphanumeric character (not including those mentioned above).
      See Also:
    • setCodeLength

      public void setCodeLength(Integer codeLength)
      The code length the generator should use when generating the codes.
    • setMaxUses

      public void setMaxUses(int maxUses)
      The maximum number of uses to set for each code generated.
    • setSegment

      public void setSegment(String segment)
      The segment to which this offer can apply.
    • setCreateDate

      public void setCreateDate(Instant createDate)
      The date this generator was created.
    • setUpdateDate

      public void setUpdateDate(Instant updateDate)
      The date this generator was created.
    • setCodeGenerationMessage

      public void setCodeGenerationMessage(String codeGenerationMessage)
      Returns a String with getNumberOfCodesGenerated() / getNumberOfCodesToGenerate() If those values are equal, just returns getNumberOfCodesGenerated() Provides an easy way to determine progress. This field is automatically updated.
    • setEmailRegEx

      public void setEmailRegEx(String emailRegEx)
      Provides a customer email validation when the generated codes are requested for use.
    • setActiveStartDate

      public void setActiveStartDate(Instant activeStartDate)
      Sets the Active Start Date for codes generated by this generator.
    • setActiveEndDate

      public void setActiveEndDate(Instant activeEndDate)
      Sets the Active End Date for codes generated by this generator.
    • setCampaignId

      public void setCampaignId(String campaignId)
      Defines the id for the campaign that originated this code generator.
    • setContextState

      public void setContextState(com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState)
      A subset of Tracking information to expose the context state for this object.
      Specified by:
      setContextState in interface com.broadleafcommerce.data.tracking.core.ContextStateAware
      Parameters:
      contextState - a subset of Tracking information to expose the context state for this object
    • setVoucherCodeGenerator

      public void setVoucherCodeGenerator(boolean voucherCodeGenerator)
      Determines if this CodeGenerator is for voucher offers.
    • setAllowedLetters

      public void setAllowedLetters(String allowedLetters)
      Returns a String with the allowed letters to use when generating codes. If not set, code generation uses the character sets configured in CodeFormatAvailableCharHelper
    • setAllowedNumbers

      public void setAllowedNumbers(String allowedNumbers)
      Returns a String with the allowed numbers to use when generating codes. If not set, code generation uses the character sets configured in CodeFormatAvailableCharHelper
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object