All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.commercetools.sunrise.framework.components.controllers.MiniCartControllerComponent Maven / Gradle / Ivy

The newest version!
package com.commercetools.sunrise.framework.components.controllers;

import com.commercetools.sunrise.framework.viewmodels.content.carts.MiniCartViewModel;
import com.commercetools.sunrise.framework.viewmodels.content.carts.MiniCartViewModelFactory;
import com.commercetools.sunrise.framework.viewmodels.PageData;
import com.commercetools.sunrise.framework.hooks.application.PageDataReadyHook;
import com.commercetools.sunrise.sessions.cart.CartInSession;

import javax.inject.Inject;

public class MiniCartControllerComponent implements ControllerComponent, PageDataReadyHook {

    private final CartInSession cartInSession;
    private final MiniCartViewModelFactory miniCartViewModelFactory;

    @Inject
    public MiniCartControllerComponent(final CartInSession cartInSession, final MiniCartViewModelFactory miniCartViewModelFactory) {
        this.cartInSession = cartInSession;
        this.miniCartViewModelFactory = miniCartViewModelFactory;
    }

    @Override
    public void onPageDataReady(final PageData pageData) {
        final MiniCartViewModel miniCart = cartInSession.findMiniCart()
                .orElseGet(() -> miniCartViewModelFactory.create(null));
        pageData.getHeader().setMiniCart(miniCart);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy