com.espertech.esper.view
Interface ViewFactory

All Known Subinterfaces:
DataWindowViewFactory
All Known Implementing Classes:
CorrelationViewFactory, ExternallyTimedWindowViewFactory, GroupByViewFactory, KeepAllViewFactory, LastElementViewFactory, LengthBatchViewFactory, LengthWindowViewFactory, MergeViewFactory, MultiDimStatsViewFactory, PriorEventViewFactory, RegressionLinestViewFactory, SizeViewFactory, SortWindowViewFactory, TimeAccumViewFactory, TimeBatchViewFactory, TimeLengthBatchViewFactory, TimeOrderViewFactory, TimeWindowViewFactory, UniqueByPropertyViewFactory, UnivariateStatisticsViewFactory, ViewFactorySupport, WeightedAverageViewFactory

public interface ViewFactory

Factory interface for a factory responsible for creating a View instance and for determining if an existing view meets requirements.


Method Summary
 void attach(EventType parentEventType, StatementContext statementContext, ViewFactory optionalParentFactory, List<ViewFactory> parentViewFactories)
          Attaches the factory to a parent event type such that the factory can validate attach requirements and determine an event type for resulting views.
 boolean canProvideCapability(ViewCapability viewCapability)
          Returns true if the view factory can make views that provide a view resource with the given capability.
 boolean canReuse(View view)
          Determines if the given view could be used instead of creating a new view, requires the view factory to compare view type, parameters and other capabilities provided.
 EventType getEventType()
          Returns the event type that the view that is created by the view factory would create for events posted by the view.
 View makeView(StatementContext statementContext)
          Create a new view.
 void setProvideCapability(ViewCapability viewCapability, ViewResourceCallback resourceCallback)
          Indicates to the view factory to provide the view resource indicated.
 void setViewParameters(ViewFactoryContext viewFactoryContext, List<Object> viewParameters)
          Indicates user EPL query view parameters to the view factory.
 

Method Detail

setViewParameters

void setViewParameters(ViewFactoryContext viewFactoryContext,
                       List<Object> viewParameters)
                       throws ViewParameterException
Indicates user EPL query view parameters to the view factory.

Parameters:
viewFactoryContext - supplied context information for the view factory
viewParameters - is the objects representing the view parameters
Throws:
ViewParameterException - if the parameters don't match view parameter needs

attach

void attach(EventType parentEventType,
            StatementContext statementContext,
            ViewFactory optionalParentFactory,
            List<ViewFactory> parentViewFactories)
            throws ViewAttachException
Attaches the factory to a parent event type such that the factory can validate attach requirements and determine an event type for resulting views.

Parameters:
parentEventType - is the parent event stream's or view factory's event type
statementContext - contains the services needed for creating a new event type
optionalParentFactory - is null when there is no parent view factory, or contains the parent view factory
parentViewFactories - is a list of all the parent view factories or empty list if there are none
Throws:
ViewAttachException - is thrown to indicate that this view factories's view would not play with the parent view factories view

canProvideCapability

boolean canProvideCapability(ViewCapability viewCapability)
Returns true if the view factory can make views that provide a view resource with the given capability.

Parameters:
viewCapability - is the view resource needed
Returns:
true to indicate that the view can provide the resource, or false if not

setProvideCapability

void setProvideCapability(ViewCapability viewCapability,
                          ViewResourceCallback resourceCallback)
Indicates to the view factory to provide the view resource indicated.

Parameters:
viewCapability - is the required resource descriptor
resourceCallback - is the callback to use to supply the resource needed

makeView

View makeView(StatementContext statementContext)
Create a new view.

Parameters:
statementContext - contains view services
Returns:
new view

getEventType

EventType getEventType()
Returns the event type that the view that is created by the view factory would create for events posted by the view.

Returns:
event type of view's created by the view factory

canReuse

boolean canReuse(View view)
Determines if the given view could be used instead of creating a new view, requires the view factory to compare view type, parameters and other capabilities provided.

Parameters:
view - is the candidate view to compare to
Returns:
true if the given view can be reused instead of creating a new view, or false to indicate the view is not right for reuse

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