com.bigdata.btree.proc
Class AbstractKeyArrayIndexProcedure.ResultBufferHandler

java.lang.Object
  extended by com.bigdata.btree.proc.AbstractKeyArrayIndexProcedure.ResultBufferHandler
All Implemented Interfaces:
IResultHandler<AbstractKeyArrayIndexProcedure.ResultBuffer,AbstractKeyArrayIndexProcedure.ResultBuffer>
Enclosing class:
AbstractKeyArrayIndexProcedure

public static class AbstractKeyArrayIndexProcedure.ResultBufferHandler
extends Object
implements IResultHandler<AbstractKeyArrayIndexProcedure.ResultBuffer,AbstractKeyArrayIndexProcedure.ResultBuffer>

Knows how to aggregate AbstractKeyArrayIndexProcedure.ResultBuffer objects.

Version:
$Id: AbstractKeyArrayIndexProcedure.java 2265 2009-10-26 12:51:06Z thompsonbry $
Author:
Bryan Thompson

Constructor Summary
AbstractKeyArrayIndexProcedure.ResultBufferHandler(int nkeys, IRabaCoder valsCoder)
           
 
Method Summary
 void aggregate(AbstractKeyArrayIndexProcedure.ResultBuffer result, Split split)
          Method is invoked for each result and is responsible for combining the results in whatever manner is meaningful for the procedure.
 AbstractKeyArrayIndexProcedure.ResultBuffer getResult()
          The aggregated results.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractKeyArrayIndexProcedure.ResultBufferHandler

public AbstractKeyArrayIndexProcedure.ResultBufferHandler(int nkeys,
                                                          IRabaCoder valsCoder)
Method Detail

aggregate

public void aggregate(AbstractKeyArrayIndexProcedure.ResultBuffer result,
                      Split split)
Description copied from interface: IResultHandler
Method is invoked for each result and is responsible for combining the results in whatever manner is meaningful for the procedure. Implementations of this method MUST be thread-safe since the procedure MAY be applied in parallel when it spans more than one index partition.

Specified by:
aggregate in interface IResultHandler<AbstractKeyArrayIndexProcedure.ResultBuffer,AbstractKeyArrayIndexProcedure.ResultBuffer>
Parameters:
result - The result from applying the procedure to a single index partition.
split - The Split that generated that result.

getResult

public AbstractKeyArrayIndexProcedure.ResultBuffer getResult()
The aggregated results. FIXME It would be better to wrap the results from each split and index into them directly in order to avoid decoding the byte[][]s associated with each split. We would need to return an appropriate IRaba implementation here instead.

Specified by:
getResult in interface IResultHandler<AbstractKeyArrayIndexProcedure.ResultBuffer,AbstractKeyArrayIndexProcedure.ResultBuffer>


Copyright © 2006-2009 SYSTAP, LLC. All Rights Reserved.