/** * Ctor. * @param eventType the event type of the named window * @param statementStopService for registering a callback when the view stopped, to unregister the statement as a consumer * @param tailView to indicate when the consumer stopped to remove the consumer * @param filterList is a list of filter expressions */ public NamedWindowConsumerView(List<ExprNode> filterList, EventType eventType, StatementStopService statementStopService, NamedWindowTailView tailView) { this.filterList = filterList; this.eventType = eventType; this.tailView = tailView; statementStopService.addSubscriber(this); }
/** * Ctor. * @param statementStopService for indicating a statement was stopped or destroyed for cleanup * @param lookupStrategy for handling trigger events to determine deleted events * @param rootView to indicate which events to delete */ public NamedWindowOnExprBaseView(StatementStopService statementStopService, LookupStrategy lookupStrategy, NamedWindowRootView rootView) { this.lookupStrategy = lookupStrategy; this.rootView = rootView; statementStopService.addSubscriber(this); namedWindowEventType = rootView.getEventType(); }
/** * Ctor. * @param revisionEventTypeAlias alias * @param spec specification * @param statementStopService for stop handling * @param eventAdapterService for nested property handling */ public VAERevisionProcessorDeclared(String revisionEventTypeAlias, RevisionSpec spec, StatementStopService statementStopService, EventAdapterService eventAdapterService) { super(spec, revisionEventTypeAlias, eventAdapterService); // on statement stop, remove versions statementStopService.addSubscriber(new StatementStopCallback() { public void statementStopped() { statePerKey.clear(); } }); this.statePerKey = new HashMap<MultiKeyUntyped, RevisionStateDeclared>(); this.baseEventType = spec.getBaseEventType(); this.fullKeyGetters = PropertyUtility.getGetters(baseEventType, spec.getKeyPropertyNames()); // sort non-key properties, removing keys groups = PropertyUtility.analyzeGroups(spec.getChangesetPropertyNames(), spec.getDeltaTypes(), spec.getDeltaAliases()); Map<String, RevisionPropertyTypeDesc> propertyDesc = createPropertyDescriptors(spec, groups); typeDescriptors = PropertyUtility.getPerType(groups, spec.getChangesetPropertyNames(), spec.getKeyPropertyNames()); revisionEventType = new RevisionEventType(propertyDesc, eventAdapterService); }
statementStopService.addSubscriber(new StatementStopCallback() { public void statementStopped()