How ankitbharambe21/event-processor works
This is a small Java event-aggregation library. A caller supplies an event stream to EventStreamProcessor, which filters invalid events, concurrently groups accepted events by ID, deduplicates timestamps, and returns an unmodifiable map of aggregate statistics. The sampled source shows this runtime path; MutableAggregateAccumulator is not used by it, and the empty README provides no additional product capabilities.
Main entry points: EventStreamProcessor.java Stream processor · ParallelSafeAccumulator.java Concurrent accumulator · EventValidator.java Event validator · Event.java Event
Components 7
Processing API
- Stream processor
src/main/java/com/library/eventprocessor/EventStreamProcessor.java - Event validator
src/main/java/com/library/eventprocessor/EventValidator.java - Event
src/main/java/com/library/eventprocessor/Event.java
Aggregation
- Grouping collector
src/main/java/com/library/eventprocessor/EventStreamProcessor.java - Concurrent accumulator
src/main/java/com/library/eventprocessor/ParallelSafeAccumulator.java - Aggregate result
src/main/java/com/library/eventprocessor/EventAggregate.java
Other components
- Library caller
Connections 8
- Library caller → Stream processor: calls process
- Library caller → Event: supplies stream
- Stream processor → Event validator: filters via
- Stream processor → Grouping collector: collects with
- Grouping collector → Concurrent accumulator: updates by ID
- Stream processor → Concurrent accumulator: snapshots
- Concurrent accumulator → Aggregate result: creates
- Stream processor → Library caller: returns map