/* (c) 2014 LinkedIn Corp. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use * this file except in compliance with the License. You may obtain a copy of the * License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. */ package com.linkedin.cubert.operator.cube; /** * Interface that specifies aggregators for the CUBE operator that can rollup inner * dimensions. * <p> * Specifically, this aggregator applies for the cases where the grain of the data is * greater as the grain of the CUBE. In other words, there are "inner dimensions" that * need to be rolled up before computing the cube. * <p> * This interface extends the {@link CubeAggregator} interface, and specified one extra * method: * <ul> * <li>{@link innerAggregate}: aggregate values for inner dimension for the specified * value cuboid.</li> * </ul> * * @see CubeAggregator * @author Maneesh Varshney * */ public interface DupleCubeAggregator extends CubeAggregator { /** * Aggregate value for inner dimensions for the specified value cuboid. * * @param index * the index for the value cuboid. */ void innerAggregate(int index); }