java.lang.Object
com.broadleafcommerce.cart.provider.jpa.domain.JpaCart
All Implemented Interfaces:
com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware, com.broadleafcommerce.data.tracking.core.ApplicationTrackable<com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking>, com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware, com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable, com.broadleafcommerce.data.tracking.core.mapping.money.CurrencyProvider, com.broadleafcommerce.data.tracking.core.Trackable, com.broadleafcommerce.data.tracking.core.TypedTrackable<com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking>, Serializable, javax.money.CurrencySupplier

@Entity @TrackableExtension(APPLICATION) public class JpaCart extends Object implements com.broadleafcommerce.data.tracking.core.ApplicationTrackable<com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking>, Serializable, com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable, com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware, com.broadleafcommerce.data.tracking.core.mapping.money.CurrencyProvider, javax.money.CurrencySupplier
JPA implementation of Cart.
Author:
Chad Harchar (charchar)
See Also:
  • Constructor Details

    • JpaCart

      public JpaCart()
  • Method Details

    • fromMe

      @NonNull public org.modelmapper.ModelMapper fromMe()
      Specified by:
      fromMe in interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
    • addFromMeCartMappings

      protected void addFromMeCartMappings(org.modelmapper.ModelMapper mapper)
    • addFromMeStoredCartItemMappings

      protected void addFromMeStoredCartItemMappings(org.modelmapper.ModelMapper mapper)
    • fromMeParentCartBackReferenceAdder

      protected <C extends com.broadleafcommerce.cart.client.domain.Cart, J extends JpaCart> C fromMeParentCartBackReferenceAdder(org.modelmapper.spi.MappingContext<J,C> mappingContext)
      Used as the TypeMap.setPostConverter(Converter) for Cart in fromMe().

      Explicitly sets the CartItem.getCart() parent cart back reference for each item in Cart.getCartItems() to the parent instance being mapped.

      As documented in TypeMap.include(Class, Class), extensions will not automatically inherit this converter, and must manually set it on the extended type map.

      Parameters:
      mappingContext - the model mapper mapping context
      Returns:
      the business-domain cart after setting each of its items' parent cart reference to itself
    • toMe

      @NonNull public org.modelmapper.ModelMapper toMe()
      Specified by:
      toMe in interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
    • addToMeCartMappings

      protected void addToMeCartMappings(org.modelmapper.ModelMapper mapper)
    • addToMeStoredCartItemMappings

      protected void addToMeStoredCartItemMappings(org.modelmapper.ModelMapper mapper)
    • preFromMe

      public void preFromMe(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @NonNull Object businessDomain)
      Specified by:
      preFromMe in interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
    • preToMe

      public void preToMe(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @NonNull Object businessDomain)
      Specified by:
      preToMe in interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
    • getBusinessDomainType

      public Class<?> getBusinessDomainType()
      Specified by:
      getBusinessDomainType in interface com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware
    • setCartItems

      protected void setCartItems(List<StoredCartItem> cartItems)
    • setTotalTax

      public void setTotalTax(javax.money.MonetaryAmount totalTax)
    • getTotalTax

      public javax.money.MonetaryAmount getTotalTax()
    • setFulfillmentTotal

      public void setFulfillmentTotal(javax.money.MonetaryAmount fulfillmentTotal)
    • getFulfillmentTotal

      public javax.money.MonetaryAmount getFulfillmentTotal()
    • setSubtotal

      public void setSubtotal(javax.money.MonetaryAmount subtotal)
    • getSubtotal

      public javax.money.MonetaryAmount getSubtotal()
    • setAdjustmentsTotal

      public void setAdjustmentsTotal(javax.money.MonetaryAmount adjustmentsTotal)
    • getAdjustmentsTotal

      public javax.money.MonetaryAmount getAdjustmentsTotal()
    • setTotal

      public void setTotal(javax.money.MonetaryAmount total)
    • getTotal

      public javax.money.MonetaryAmount getTotal()
    • setAccountHierarchyAsString

      public void setAccountHierarchyAsString(String accountHierarchy)
    • getAccountHierarchyAsString

      public String getAccountHierarchyAsString()
    • setAccountHierarchy

      public void setAccountHierarchy(List<String> accountHierarchy)
    • getAccountHierarchy

      public List<String> getAccountHierarchy()
    • setFeesTotal

      public void setFeesTotal(javax.money.MonetaryAmount feesTotal)
    • getFeesTotal

      public javax.money.MonetaryAmount getFeesTotal()
    • getIncludedTaxAmount

      public javax.money.MonetaryAmount getIncludedTaxAmount()
    • setIncludedTaxAmount

      public void setIncludedTaxAmount(javax.money.MonetaryAmount includedTaxAmount)
    • getContextId

      public String getContextId()
      The jpa primary key.
      Specified by:
      getContextId in interface com.broadleafcommerce.data.tracking.core.Trackable
      Returns:
      The jpa primary key
    • getName

      public String getName()
    • getType

      public String getType()
    • getExpirationDate

      public Instant getExpirationDate()
    • getStatus

      public String getStatus()
    • getEmailAddress

      public String getEmailAddress()
    • getCustomerId

      public String getCustomerId()
    • getAccountId

      public String getAccountId()
    • getRootAccountId

      public String getRootAccountId()
    • getApprovalRequestedDate

      public Instant getApprovalRequestedDate()
    • getApproverEmail

      public String getApproverEmail()
    • getUsername

      public String getUsername()
    • getFullName

      public String getFullName()
    • isRegistered

      public boolean isRegistered()
    • getOrderNumber

      public String getOrderNumber()
    • getSubmitDate

      public Instant getSubmitDate()
    • getCreateDate

      public Instant getCreateDate()
    • getCurrency

      public javax.money.CurrencyUnit getCurrency()
      Specified by:
      getCurrency in interface javax.money.CurrencySupplier
    • getTaxIncludedType

      public String getTaxIncludedType()
    • getLocale

      public Locale getLocale()
    • getAssignedSalesRepId

      public String getAssignedSalesRepId()
    • getAssignedSalesRepEmail

      public String getAssignedSalesRepEmail()
    • getCartItems

      public List<StoredCartItem> getCartItems()
    • getFulfillmentGroups

      public List<com.broadleafcommerce.cart.client.domain.FulfillmentGroup> getFulfillmentGroups()
    • getAdjustments

      public List<com.broadleafcommerce.order.common.domain.Adjustment> getAdjustments()
    • getOfferCodes

      public List<String> getOfferCodes()
    • getVouchers

      public List<com.broadleafcommerce.order.common.domain.Voucher> getVouchers()
    • getCampaignRefs

      public List<com.broadleafcommerce.order.common.domain.CampaignRef> getCampaignRefs()
    • getAttributes

      public Map<String,Object> getAttributes()
    • getInternalAttributes

      public Map<String,Object> getInternalAttributes()
    • getAttributeChoices

      public Map<String,com.broadleafcommerce.order.common.domain.AttributeChoiceValue> getAttributeChoices()
    • getCheckoutSubmissions

      public Map<String,Instant> getCheckoutSubmissions()
    • isPriced

      public boolean isPriced()
    • isTaxEstimated

      public boolean isTaxEstimated()
    • getVersion

      public int getVersion()
      The JPA managed version of this cart. This should not be modified by application code. See JPA's @Version.
    • getLastCatalogReprice

      public Instant getLastCatalogReprice()
    • getLastUpdatedAuditId

      public String getLastUpdatedAuditId()
    • getTracking

      public com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking getTracking()
      Specified by:
      getTracking in interface com.broadleafcommerce.data.tracking.core.Trackable
      See Also:
      • ApplicationJpaTracking
    • setContextId

      public void setContextId(String contextId)
      The jpa primary key.
      Specified by:
      setContextId in interface com.broadleafcommerce.data.tracking.core.Trackable
      Parameters:
      _id - The jpa primary key
    • setName

      public void setName(String name)
    • setType

      public void setType(String type)
    • setExpirationDate

      public void setExpirationDate(Instant expirationDate)
    • setStatus

      public void setStatus(String status)
    • setEmailAddress

      public void setEmailAddress(String emailAddress)
    • setCustomerId

      public void setCustomerId(String customerId)
    • setAccountId

      public void setAccountId(String accountId)
    • setRootAccountId

      public void setRootAccountId(String rootAccountId)
    • setApprovalRequestedDate

      public void setApprovalRequestedDate(Instant approvalRequestedDate)
    • setApproverEmail

      public void setApproverEmail(String approverEmail)
    • setUsername

      public void setUsername(String username)
    • setFullName

      public void setFullName(String fullName)
    • setRegistered

      public void setRegistered(boolean isRegistered)
    • setOrderNumber

      public void setOrderNumber(String orderNumber)
    • setSubmitDate

      public void setSubmitDate(Instant submitDate)
    • setCreateDate

      public void setCreateDate(Instant createDate)
    • setCurrency

      public void setCurrency(javax.money.CurrencyUnit currency)
    • setTaxIncludedType

      public void setTaxIncludedType(String taxIncludedType)
    • setLocale

      public void setLocale(Locale locale)
    • setAssignedSalesRepId

      public void setAssignedSalesRepId(String assignedSalesRepId)
    • setAssignedSalesRepEmail

      public void setAssignedSalesRepEmail(String assignedSalesRepEmail)
    • setFulfillmentGroups

      public void setFulfillmentGroups(List<com.broadleafcommerce.cart.client.domain.FulfillmentGroup> fulfillmentGroups)
    • setAdjustments

      public void setAdjustments(List<com.broadleafcommerce.order.common.domain.Adjustment> adjustments)
    • setOfferCodes

      public void setOfferCodes(List<String> offerCodes)
    • setVouchers

      public void setVouchers(List<com.broadleafcommerce.order.common.domain.Voucher> vouchers)
    • setCampaignRefs

      public void setCampaignRefs(List<com.broadleafcommerce.order.common.domain.CampaignRef> campaignRefs)
    • setAttributes

      public void setAttributes(Map<String,Object> attributes)
    • setInternalAttributes

      public void setInternalAttributes(Map<String,Object> internalAttributes)
    • setAttributeChoices

      public void setAttributeChoices(Map<String,com.broadleafcommerce.order.common.domain.AttributeChoiceValue> attributeChoices)
    • setCheckoutSubmissions

      public void setCheckoutSubmissions(Map<String,Instant> checkoutSubmissions)
    • setPriced

      public void setPriced(boolean isPriced)
    • setTaxEstimated

      public void setTaxEstimated(boolean isTaxEstimated)
    • setVersion

      public void setVersion(int version)
      The JPA managed version of this cart. This should not be modified by application code. See JPA's @Version.
    • setLastCatalogReprice

      public void setLastCatalogReprice(Instant lastCatalogReprice)
    • setLastUpdatedAuditId

      public void setLastUpdatedAuditId(String lastUpdatedAuditId)
    • setTracking

      public void setTracking(com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking)
      Specified by:
      setTracking in interface com.broadleafcommerce.data.tracking.core.TypedTrackable<com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking>
      See Also:
      • ApplicationJpaTracking
    • 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