org.omnaest.utils.structure.table.concrete.predicates.internal.joiner
Class EqualColumns<E>

java.lang.Object
  extended by org.omnaest.utils.structure.table.concrete.predicates.internal.joiner.EqualColumns<E>
All Implemented Interfaces:
Serializable, PredicateFilter<E>, PredicateJoiner<E>, TableSelectable.Predicate<E>

public class EqualColumns<E>
extends Object
implements PredicateJoiner<E>, PredicateFilter<E>

Author:
Omnaest
See Also:
PredicateJoiner, PredicateFilter, Serialized Form

Field Summary
protected  Map<TableInternal<E>,List<Table.Column<E>>> tableInternalToColumnListMap
           
 
Constructor Summary
EqualColumns(List<Table.Column<E>> columnList)
           
 
Method Summary
 boolean affectsBothTableBlocks(TableBlock<E> tableBlockLeft, TableBlock<E> tableBlockRight)
          Returns true if the given TableBlocks are affected by this PredicateJoiner
 Set<TableInternal.StripeData<E>> determineJoinableStripeDataSet(TableInternal.StripeData<E> stripeData, TableBlock<E> tableBlockLeft, TableBlock<E> tableBlockRight)
          Provides the TableInternal.StripeData instances from the right TableBlock which should be joined with the given TableInternal.StripeData of the left TableBlock.
 void filterStripeDataSet(Collection<TableBlock<E>> tableBlockCollection)
          Removes the TableInternal.StripeData instances of Rows from a given TableBlock.getRowStripeDataSet()
 Table.Column<E>[] getRequiredColumns()
          Returns the Table.Columns which are required for this PredicateJoiner
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tableInternalToColumnListMap

protected Map<TableInternal<E>,List<Table.Column<E>>> tableInternalToColumnListMap
Constructor Detail

EqualColumns

public EqualColumns(List<Table.Column<E>> columnList)
Parameters:
columnList -
Method Detail

determineJoinableStripeDataSet

public Set<TableInternal.StripeData<E>> determineJoinableStripeDataSet(TableInternal.StripeData<E> stripeData,
                                                                       TableBlock<E> tableBlockLeft,
                                                                       TableBlock<E> tableBlockRight)
Description copied from interface: PredicateJoiner
Provides the TableInternal.StripeData instances from the right TableBlock which should be joined with the given TableInternal.StripeData of the left TableBlock. The Set will be ordered.

Specified by:
determineJoinableStripeDataSet in interface PredicateJoiner<E>
Returns:

affectsBothTableBlocks

public boolean affectsBothTableBlocks(TableBlock<E> tableBlockLeft,
                                      TableBlock<E> tableBlockRight)
Description copied from interface: PredicateJoiner
Returns true if the given TableBlocks are affected by this PredicateJoiner

Specified by:
affectsBothTableBlocks in interface PredicateJoiner<E>
Returns:

getRequiredColumns

public Table.Column<E>[] getRequiredColumns()
Description copied from interface: PredicateJoiner
Returns the Table.Columns which are required for this PredicateJoiner

Specified by:
getRequiredColumns in interface PredicateFilter<E>
Specified by:
getRequiredColumns in interface PredicateJoiner<E>
Returns:

filterStripeDataSet

public void filterStripeDataSet(Collection<TableBlock<E>> tableBlockCollection)
Description copied from interface: PredicateFilter
Removes the TableInternal.StripeData instances of Rows from a given TableBlock.getRowStripeDataSet()

Specified by:
filterStripeDataSet in interface PredicateFilter<E>


Copyright © 2011. All Rights Reserved.