Class 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:
    Serialized Form
    • Constructor Detail

      • JpaCart

        public JpaCart()
    • Method Detail

      • 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
      • 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()
      • 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()
      • 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
      • getLocale

        public Locale getLocale()
      • 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()
      • 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()
      • 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)
      • 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)
      • setLocale

        public void setLocale​(Locale locale)
      • 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)
      • 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
      • canEqual

        protected boolean canEqual​(Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object