T - aggregate root typepublic abstract class ClientPersistableRepository<T extends AggregateRoot> extends ClientRepository<T> implements PersistableRepository<T>
persistable repository.
It redirects calls to proxy services.
It shouldn't be used or resolved.
Instead domain model repositories should be resolved.
DSL example:
module Todo {
aggregate Task;
}
Java usage:
ServiceLocator locator; PersistableRepository<Todo.Task> repository = locator.resolve(Todo.TaskRepository.class);
| Constructor and Description |
|---|
ClientPersistableRepository(java.lang.Class<T> manifest,
ServiceLocator locator)
Generated class will provide class manifest and locator
|
| Modifier and Type | Method and Description |
|---|---|
java.util.concurrent.Future<?> |
delete(java.lang.Iterable<T> deletes)
Bulk delete.
|
java.util.concurrent.Future<?> |
delete(T... deletes) |
java.util.concurrent.Future<?> |
delete(T delete)
Deleting an
aggregate. |
java.util.concurrent.Future<java.util.List<java.lang.String>> |
insert(java.lang.Iterable<T> inserts)
Bulk insert.
|
java.util.concurrent.Future<java.util.List<java.lang.String>> |
insert(T... inserts) |
java.util.concurrent.Future<java.lang.String> |
insert(T insert)
Insert a single
aggregate. |
java.util.concurrent.Future<java.util.List<java.lang.String>> |
persist(java.lang.Iterable<T> inserts,
java.lang.Iterable<java.util.Map.Entry<T,T>> updates,
java.lang.Iterable<T> deletes)
Apply local changes to the remote server.
|
java.util.concurrent.Future<java.util.List<java.lang.String>> |
persist(T[] inserts,
java.util.Map.Entry<T,T>[] updates,
T[] deletes) |
java.util.concurrent.Future<java.util.List<java.lang.String>> |
update(java.lang.Iterable<T> updates)
Bulk update.
|
java.util.concurrent.Future<java.util.List<java.lang.String>> |
update(T... updates) |
java.util.concurrent.Future<T> |
update(T update)
Changing state of an aggregate root.
|
find, find, findbuilder, count, countAll, findAll, findAll, findAll, search, search, searchequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfind, find, findpublic ClientPersistableRepository(java.lang.Class<T> manifest, ServiceLocator locator)
manifest - domain object typelocator - context in which domain object livespublic java.util.concurrent.Future<java.util.List<java.lang.String>> persist(java.lang.Iterable<T> inserts, java.lang.Iterable<java.util.Map.Entry<T,T>> updates, java.lang.Iterable<T> deletes)
PersistableRepositorypersist in interface PersistableRepository<T extends AggregateRoot>inserts - new aggregate rootsupdates - pairs for updating old aggregate to new statedeletes - aggregate roots which will be deletedpublic java.util.concurrent.Future<java.util.List<java.lang.String>> persist(T[] inserts, java.util.Map.Entry<T,T>[] updates, T[] deletes)
persist in interface PersistableRepository<T extends AggregateRoot>PersistableRepository.persist(Iterable, Iterable, Iterable)public java.util.concurrent.Future<java.util.List<java.lang.String>> insert(T... inserts)
insert in interface PersistableRepository<T extends AggregateRoot>PersistableRepository.insert(Iterable)public java.util.concurrent.Future<java.util.List<java.lang.String>> insert(java.lang.Iterable<T> inserts)
PersistableRepositoryaggregates.insert in interface PersistableRepository<T extends AggregateRoot>inserts - new aggregate rootspublic java.util.concurrent.Future<java.lang.String> insert(T insert)
PersistableRepositoryaggregate.insert in interface PersistableRepository<T extends AggregateRoot>insert - new aggregate rootpublic java.util.concurrent.Future<java.util.List<java.lang.String>> update(java.lang.Iterable<T> updates)
PersistableRepositoryaggregates.update in interface PersistableRepository<T extends AggregateRoot>updates - sequence of aggregate roots to updatepublic java.util.concurrent.Future<java.util.List<java.lang.String>> update(T... updates)
update in interface PersistableRepository<T extends AggregateRoot>PersistableRepository.update(Iterable)public java.util.concurrent.Future<T> update(T update)
PersistableRepositoryupdate in interface PersistableRepository<T extends AggregateRoot>update - aggregate root to updatepublic java.util.concurrent.Future<?> delete(java.lang.Iterable<T> deletes)
PersistableRepositoryaggregates.delete in interface PersistableRepository<T extends AggregateRoot>deletes - aggregate roots to deletepublic java.util.concurrent.Future<?> delete(T... deletes)
delete in interface PersistableRepository<T extends AggregateRoot>PersistableRepository.delete(Iterable)public java.util.concurrent.Future<?> delete(T delete)
PersistableRepositoryaggregate.delete in interface PersistableRepository<T extends AggregateRoot>delete - aggregate root to delete