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:
Java usage:module Todo { aggregate Task; }
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, find
builder, count, countAll, findAll, findAll, findAll, search, search, search
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
find, find, find
public 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)
PersistableRepository
persist
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)
PersistableRepository
aggregates
.insert
in interface PersistableRepository<T extends AggregateRoot>
inserts
- new aggregate rootspublic java.util.concurrent.Future<java.lang.String> insert(T insert)
PersistableRepository
aggregate
.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)
PersistableRepository
aggregates
.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)
PersistableRepository
update
in interface PersistableRepository<T extends AggregateRoot>
update
- aggregate root to updatepublic java.util.concurrent.Future<?> delete(java.lang.Iterable<T> deletes)
PersistableRepository
aggregates
.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)
PersistableRepository
aggregate
.delete
in interface PersistableRepository<T extends AggregateRoot>
delete
- aggregate root to delete