Package com.cloudimpl.outstack.runtime
Class RootEntityContext<T extends RootEntity>
java.lang.Object
com.cloudimpl.outstack.runtime.EntityContext<T>
com.cloudimpl.outstack.runtime.RootEntityContext<T>
- Type Parameters:
T-
- All Implemented Interfaces:
Context,EntityQueryContext<T>,RootEntityQueryContext<T>
- Direct Known Subclasses:
AsyncEntityContext
public class RootEntityContext<T extends RootEntity> extends EntityContext<T> implements RootEntityQueryContext<T>
- Author:
- nuwan
-
Field Summary
Fields inherited from class com.cloudimpl.outstack.runtime.EntityContext
crudOperations, entityMeta, entitySupplier, entityType, eventPublisher, idGenerator, queryOperation, queryOperationSelector, tx, validator, version -
Constructor Summary
Constructors Constructor Description RootEntityContext(java.lang.Class<T> entityType, java.lang.String tid, java.lang.String tenantId, java.util.Optional<EntityProvider<? extends RootEntity>> entitySupplier, java.util.function.Supplier<java.lang.String> idGenerator, java.util.Optional<CRUDOperations> crudOperations, QueryOperations<T> queryOperation, java.util.Optional<java.util.function.Consumer<Event>> eventPublisher, java.util.function.Consumer<java.lang.Object> validator, java.util.function.Function<java.lang.Class<? extends RootEntity>,QueryOperations<?>> queryOperationSelector, java.lang.String version) -
Method Summary
Modifier and Type Method Description AsyncEntityContext<T>asAsyncEntityContext()AsyncRootEntityQueryContext<T>asAsyncQueryContext()ChildEntityContextasChildContext()<R extends RootEntity, K extends ChildEntity<R>>
ChildEntityQueryContext<R,K>asChildQueryContext()RootEntityContext<T>asNonTenantContext(java.lang.String id)RootEntityContext<T>asRootContext()RootEntityQueryContext<T>asRootQueryContext()<C extends ChildEntity<T>>
Ccreate(java.lang.Class<C> type, java.lang.String id, Event<C> event)<C extends ChildEntity<T>>
Ccreate(java.lang.Class<C> type, java.lang.String rootId, java.lang.String id, Event<C> event)Tcreate(java.lang.String id, Event<T> event)<C extends ChildEntity<T>>
Cdelete(java.lang.Class<C> type, java.lang.String id)Tdelete(java.lang.String id)ResultSet<T>getAll(Query.PagingRequest pagingRequest)<C extends ChildEntity<T>>
ResultSet<C>getAllChildEntitiesByType(java.lang.Class<C> childType, Query.PagingRequest pageable)<C extends ChildEntity<T>>
java.util.Optional<C>getChildEntityById(java.lang.Class<C> childType, java.lang.String id)<C extends ChildEntity<T>>
ResultSet<Event<C>>getChildEntityEventsById(java.lang.Class<C> childType, java.lang.String id, Query.PagingRequest pageRequest)java.util.Optional<T>getEntity()java.util.Optional<T>getEntityById(java.lang.String id)ResultSet<Event<T>>getEntityEventsById(java.lang.String id, Query.PagingRequest pageRequest)protected java.lang.StringgetId()booleanisIdExist(java.lang.String id, java.lang.String tenantId)<C extends ChildEntity<T>>
Crename(java.lang.Class<C> type, java.lang.String id, java.lang.String newId)Trename(java.lang.String id, java.lang.String newId)protected voidsetId(java.lang.String id)<C extends ChildEntity<T>>
Cupdate(java.lang.Class<C> type, java.lang.String id, Event<C> event)Tupdate(java.lang.String id, Event<T> event)Methods inherited from class com.cloudimpl.outstack.runtime.EntityContext
addEvent, asUnboundedEntityContext, getCrudOperations, getEntityMeta, getEntityProvider, getEntityQueryProvider, getEntityQueryProvider, getEntityQueryProviderFromTenantList, getEventPublisher, getEvents, getQueryOperations, getTenantId, getTx, getVersion, setTxMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.cloudimpl.outstack.runtime.EntityQueryContext
getEntityQueryProvider, getEntityQueryProvider, getEntityQueryProviderFromTenantList, getTenantIdMethods inherited from interface com.cloudimpl.outstack.runtime.RootEntityQueryContext
getAllChildEntitiesByType
-
Constructor Details
-
RootEntityContext
public RootEntityContext(java.lang.Class<T> entityType, java.lang.String tid, java.lang.String tenantId, java.util.Optional<EntityProvider<? extends RootEntity>> entitySupplier, java.util.function.Supplier<java.lang.String> idGenerator, java.util.Optional<CRUDOperations> crudOperations, QueryOperations<T> queryOperation, java.util.Optional<java.util.function.Consumer<Event>> eventPublisher, java.util.function.Consumer<java.lang.Object> validator, java.util.function.Function<java.lang.Class<? extends RootEntity>,QueryOperations<?>> queryOperationSelector, java.lang.String version)
-
-
Method Details
-
asRootContext
- Specified by:
asRootContextin classEntityContext<T extends RootEntity>
-
create
- Specified by:
createin classEntityContext<T extends RootEntity>
-
create
public <C extends ChildEntity<T>> C create(java.lang.Class<C> type, java.lang.String id, Event<C> event) -
create
public <C extends ChildEntity<T>> C create(java.lang.Class<C> type, java.lang.String rootId, java.lang.String id, Event<C> event) -
update
public <C extends ChildEntity<T>> C update(java.lang.Class<C> type, java.lang.String id, Event<C> event) -
rename
public <C extends ChildEntity<T>> C rename(java.lang.Class<C> type, java.lang.String id, java.lang.String newId) -
update
- Specified by:
updatein classEntityContext<T extends RootEntity>
-
delete
- Specified by:
deletein classEntityContext<T extends RootEntity>
-
delete
-
rename
- Specified by:
renamein classEntityContext<T extends RootEntity>
-
asChildContext
- Specified by:
asChildContextin classEntityContext<T extends RootEntity>
-
getEntityById
- Specified by:
getEntityByIdin interfaceEntityQueryContext<T extends RootEntity>
-
getChildEntityById
public <C extends ChildEntity<T>> java.util.Optional<C> getChildEntityById(java.lang.Class<C> childType, java.lang.String id)- Specified by:
getChildEntityByIdin interfaceRootEntityQueryContext<T extends RootEntity>
-
getAllChildEntitiesByType
public <C extends ChildEntity<T>> ResultSet<C> getAllChildEntitiesByType(java.lang.Class<C> childType, Query.PagingRequest pageable)- Specified by:
getAllChildEntitiesByTypein interfaceRootEntityQueryContext<T extends RootEntity>
-
asRootQueryContext
- Specified by:
asRootQueryContextin interfaceEntityQueryContext<T extends RootEntity>
-
asChildQueryContext
public <R extends RootEntity, K extends ChildEntity<R>> ChildEntityQueryContext<R,K> asChildQueryContext()- Specified by:
asChildQueryContextin interfaceEntityQueryContext<T extends RootEntity>
-
getEntity
- Specified by:
getEntityin interfaceRootEntityQueryContext<T extends RootEntity>
-
getAll
- Specified by:
getAllin interfaceRootEntityQueryContext<T extends RootEntity>
-
getChildEntityEventsById
public <C extends ChildEntity<T>> ResultSet<Event<C>> getChildEntityEventsById(java.lang.Class<C> childType, java.lang.String id, Query.PagingRequest pageRequest)- Specified by:
getChildEntityEventsByIdin interfaceRootEntityQueryContext<T extends RootEntity>
-
getEntityEventsById
public ResultSet<Event<T>> getEntityEventsById(java.lang.String id, Query.PagingRequest pageRequest)- Specified by:
getEntityEventsByIdin interfaceEntityQueryContext<T extends RootEntity>
-
asAsyncEntityContext
- Specified by:
asAsyncEntityContextin classEntityContext<T extends RootEntity>
-
asAsyncQueryContext
- Specified by:
asAsyncQueryContextin interfaceEntityQueryContext<T extends RootEntity>
-
getId
protected java.lang.String getId() -
asNonTenantContext
- Specified by:
asNonTenantContextin interfaceRootEntityQueryContext<T extends RootEntity>
-
setId
protected void setId(java.lang.String id) -
isIdExist
public boolean isIdExist(java.lang.String id, java.lang.String tenantId)- Specified by:
isIdExistin interfaceEntityQueryContext<T extends RootEntity>
-