All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class JBMSTours.aggregates.MaxButOneIntegerAggregator

java.lang.Object
   |
   +----JBMSTours.aggregates.MaxButOneIntegerAggregator

public class MaxButOneIntegerAggregator
extends Object
implements Externalizable, Aggregator
Implements the aggregation for MaxButONE when the input type is an Integer.

We implement Externalizable to save space in case we are written out (Serialization tends to take up a lot of space).


Constructor Index

 o MaxButOneIntegerAggregator()
Niladic constructor

Method Index

 o accumulate(ResultSet)
Iteratively accumulates the addend into the aggregator.
 o getResult()
Produces the result to be returned by the query.
 o getSecondValue()
Returns the second highest value in the column found so far.
 o getTopValue()
Returns the highest value in the column found so far.
 o initialize()
Initializes the aggregate for processing.
 o merge(Aggregator)
Merges one aggregator into a another aggregator.
 o newInstance()
Return a new instance of this class.
 o readExternal(ObjectInput)
Read in our two fields.
 o writeExternal(ObjectOutput)
Write out our two fields.

Constructors

 o MaxButOneIntegerAggregator
 public MaxButOneIntegerAggregator()
Niladic constructor

Methods

 o initialize
 public void initialize()
Initializes the aggregate for processing.

 o accumulate
 public void accumulate(ResultSet addend) throws Throwable
Iteratively accumulates the addend into the aggregator. Called on each member of the set of values that is being aggregated.

Parameters:
addend - the ResultSet addend (current input to the aggregation)
Throws: Throwable
on error
 o merge
 public void merge(Aggregator inputAggregator) throws Throwable
Merges one aggregator into a another aggregator. Used in Group by.

Parameters:
inputAggregator - the other Aggregator (input partial aggregate)
Throws: Throwable
on error
 o getResult
 public Object getResult()
Produces the result to be returned by the query. The last processing of the aggregate.

In this instance, returns the second highest value in the column.

See COM.cloudscape.aggregates.AggregateDefinition.getResult().

Returns:
the result column.
 o newInstance
 public Aggregator newInstance()
Return a new instance of this class. Identical to Class.newInstance() but much cheaper because reflection is costly.

Just implement it to do new myClass().

Returns:
Aggregator
 o getTopValue
 public Integer getTopValue()
Returns the highest value in the column found so far. This method needs to be public because instances call each other during a merge.

Returns:
topValue
 o getSecondValue
 public Integer getSecondValue()
Returns the second highest value in the column found so far. This method needs to be public because instances call each other during a merge.

Returns:
secondValue
 o writeExternal
 public void writeExternal(ObjectOutput out) throws IOException
Write out our two fields.

Parameters:
out - the output stream
Throws: IOException
on error
 o readExternal
 public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
Read in our two fields.

Parameters:
int - the input stream
Throws: IOException
on error
Throws: ClassNotFoundException
on error

All Packages  Class Hierarchy  This Package  Previous  Next  Index