/*******************************************************************************
 * Copyright (c) 2012, 2020 Original authors and others.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     Original authors and others - initial API and implementation
 ******************************************************************************/
package org.eclipse.nebula.widgets.nattable.summaryrow;

import org.eclipse.nebula.widgets.nattable.style.ConfigAttribute;

/**
 * This class contains the {@link ConfigAttribute}s that are interpreted by the
 * {@link SummaryRowLayer}.
 *
 * @see SummaryRowLayer
 */
public class SummaryRowConfigAttributes {

    /**
     * The configuration attribute that is used to calculate the summary for a
     * column.
     */
    public static final ConfigAttribute<ISummaryProvider> SUMMARY_PROVIDER = new ConfigAttribute<ISummaryProvider>();

}
