com.espertech.esper.epl.join
Class JoinSetComposerFactoryImpl

java.lang.Object
  extended by com.espertech.esper.epl.join.JoinSetComposerFactoryImpl
All Implemented Interfaces:
JoinSetComposerFactory

public class JoinSetComposerFactoryImpl
extends Object
implements JoinSetComposerFactory

Factory for building a JoinSetComposer from analyzing filter nodes, for fast join tuple result set composition.


Constructor Summary
JoinSetComposerFactoryImpl()
           
 
Method Summary
protected static EventTable buildIndex(int indexedStreamNum, String[] indexProps, Class[] optCoercionTypes, EventType eventType)
          Build an index/table instance using the event properties for the event type.
 JoinSetComposer makeComposer(List<OuterJoinDesc> outerJoinDescList, ExprNode optionalFilterNode, EventType[] streamTypes, String[] streamNames, Viewable[] streamViews, SelectClauseStreamSelectorEnum selectStreamSelectorEnum, boolean[] isUnidirectional, boolean[] hasChildViews, boolean[] isNamedWindow)
          Builds join tuple composer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinSetComposerFactoryImpl

public JoinSetComposerFactoryImpl()
Method Detail

makeComposer

public JoinSetComposer makeComposer(List<OuterJoinDesc> outerJoinDescList,
                                    ExprNode optionalFilterNode,
                                    EventType[] streamTypes,
                                    String[] streamNames,
                                    Viewable[] streamViews,
                                    SelectClauseStreamSelectorEnum selectStreamSelectorEnum,
                                    boolean[] isUnidirectional,
                                    boolean[] hasChildViews,
                                    boolean[] isNamedWindow)
                             throws ExprValidationException
Builds join tuple composer.

Specified by:
makeComposer in interface JoinSetComposerFactory
Parameters:
outerJoinDescList - - list of descriptors for outer join criteria
optionalFilterNode - - filter tree for analysis to build indexes for fast access
streamTypes - - types of streams
streamNames - - names of streams
streamViews - - leaf view per stream
selectStreamSelectorEnum - - indicator for rstream or istream-only, for optimization
isUnidirectional - is an array of indicators for each stream set to true for a unidirectional stream in a join
hasChildViews - indicates if child views are declared for a stream
isNamedWindow - indicates whether the join is against named windows
Returns:
composer implementation
Throws:
ExprValidationException - is thrown to indicate that validation of view use in joins failed.

buildIndex

protected static EventTable buildIndex(int indexedStreamNum,
                                       String[] indexProps,
                                       Class[] optCoercionTypes,
                                       EventType eventType)
Build an index/table instance using the event properties for the event type.

Parameters:
indexedStreamNum - - number of stream indexed
indexProps - - properties to index
optCoercionTypes - - optional array of coercion types, or null if no coercion is required
eventType - - type of event to expect
Returns:
table build

© 2007 EsperTech Inc.
All rights reserved.
Visit us at espertech.com