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

com.commercetools.sunrise.search.pagination.EntriesPerPageFormSettings Maven / Gradle / Ivy

The newest version!
package com.commercetools.sunrise.search.pagination;

import com.commercetools.sunrise.framework.viewmodels.forms.FormOption;
import com.commercetools.sunrise.framework.viewmodels.forms.FormSettingsWithOptions;
import play.mvc.Http;

import java.util.List;

public interface EntriesPerPageFormSettings extends FormSettingsWithOptions {

    /**
     * Default limit as defined in the CTP platform
     */
    int DEFAULT_LIMIT = 20;

    default long getLimit(final Http.Context httpContext) {
        return getSelectedOption(httpContext)
                .map(FormOption::getValue)
                .orElse(DEFAULT_LIMIT);
    }

    static EntriesPerPageFormSettings of(final String fieldName, final List options) {
        return new EntriesPerPageFormSettingsImpl(fieldName, options);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy