All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.rahulsom.grooves.grails.RxGormQuerySupport Maven / Gradle / Ivy

There is a newer version: 0.6.1
Show newest version
package com.github.rahulsom.grooves.grails;

import com.github.rahulsom.grooves.api.AggregateType;
import com.github.rahulsom.grooves.api.events.BaseEvent;
import com.github.rahulsom.grooves.api.snapshots.Snapshot;
import com.github.rahulsom.grooves.queries.QuerySupport;
import com.github.rahulsom.grooves.queries.internal.BaseQuery;
import grails.gorm.rx.RxEntity;
import rx.Observable;

import java.util.Date;
import java.util.List;

/**
 * Rx Gorm Support for Query Util.
 *
 * 

This is the preferred way of writing Grooves applications with Grails. * * @param The aggregate over which the query executes * @param The type of the Event's id field * @param The type of the Event * @param The type of the Snapshot's id field * @param The type of the Snapshot * * @author Rahul Somasunderam * @deprecated Use {@link RxEventSource} and {@link RxSnapshotSource} instead */ @Deprecated public interface RxGormQuerySupport< AggregateIdT, AggregateT extends AggregateType & RxEntity, EventIdT, EventT extends BaseEvent & RxEntity, SnapshotIdT, SnapshotT extends Snapshot & RxEntity, QueryT extends BaseQuery > extends QuerySupport, RxSnapshotSource, RxEventSource { @Override default Observable getSnapshot(long maxPosition, AggregateT aggregate) { return RxSnapshotSource.super.getSnapshot(maxPosition, aggregate); } @Override default Observable getSnapshot(Date maxTimestamp, AggregateT aggregate) { return RxSnapshotSource.super.getSnapshot(maxTimestamp, aggregate); } @Override default Observable getUncomputedEvents( AggregateT aggregate, SnapshotT lastSnapshot, long version) { return RxEventSource.super.getUncomputedEvents(aggregate, lastSnapshot, version); } @Override default Observable getUncomputedEvents( AggregateT aggregate, SnapshotT lastSnapshot, Date snapshotTime) { return RxEventSource.super.getUncomputedEvents(aggregate, lastSnapshot, snapshotTime); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy