public class DsContextImpl extends java.lang.Object implements DsContextImplementation
DsContextImplementation.LazyTask
DsContext.AfterCommitListener, DsContext.BeforeCommitListener, DsContext.CommitListener, DsContext.CommitListenerAdapter
Modifier and Type | Field and Description |
---|---|
protected java.util.List<DsContext.AfterCommitListener> |
afterCommitListeners |
protected java.util.Map<java.lang.String,java.lang.String> |
aliasesMap |
protected java.util.List<DsContext.BeforeCommitListener> |
beforeCommitListeners |
protected java.util.List<DsContext> |
children |
protected DataSupplier |
dataservice |
protected java.util.Map<java.lang.String,Datasource> |
datasourceMap |
protected java.util.Map<Datasource,Datasource> |
dependencies |
protected java.util.List<DsContextImplementation.LazyTask> |
lazyTasks |
protected Metadata |
metadata |
protected DsContext |
parent |
protected FrameContext |
windowContext |
Constructor and Description |
---|
DsContextImpl(DataSupplier dataservice) |
Modifier and Type | Method and Description |
---|---|
void |
addAfterCommitListener(DsContext.AfterCommitListener listener) |
void |
addAlias(java.lang.String aliasDatasourceId,
java.lang.String originalDatasourceId)
Add alias for datasource.
|
void |
addBeforeCommitListener(DsContext.BeforeCommitListener listener) |
protected void |
addDatasourceToResume(java.util.List<CollectionDatasource.Suspendable> list,
Datasource datasource) |
protected void |
addDsContextToResume(DsContext dsContext,
java.util.List<CollectionDatasource.Suspendable> list) |
void |
addLazyTask(DsContextImplementation.LazyTask lazyTask) |
void |
addListener(DsContext.CommitListener listener)
Add commit events listener.
|
protected void |
addToContext(Entity entity,
Datasource<Entity> datasource,
java.util.Collection<Entity> entities,
java.util.Map<java.lang.Object,View> views) |
protected java.util.Map<DataSupplier,java.util.Collection<Datasource<Entity>>> |
collectCommitData() |
boolean |
commit()
Commit all changed datasources.
|
protected boolean |
commitToParent(java.util.Collection<Datasource> datasources) |
protected CommitContext |
createCommitContext(DataSupplier dataservice,
java.util.Map<DataSupplier,java.util.Collection<Datasource<Entity>>> commitData) |
void |
executeLazyTasks() |
void |
fireAfterCommit(CommitContext context,
java.util.Set<Entity> committedEntities) |
void |
fireBeforeCommit(CommitContext context) |
Datasource |
get(java.lang.String id)
Get datasource by name.
|
java.util.Collection<Datasource> |
getAll() |
java.util.List<DsContext> |
getChildren() |
DataSupplier |
getDataSupplier() |
FrameContext |
getFrameContext() |
Datasource |
getNN(java.lang.String name)
Get datasource by name.
|
DsContext |
getParent() |
boolean |
isDiscardCommitted()
Indicates that the DsContext will be discarded right after commit hence it doesn't need committed instances.
|
boolean |
isModified() |
protected void |
notifyAllDsCommited(DataSupplier dataservice,
java.util.Set<Entity> committedEntities) |
void |
refresh()
Refresh all datasources.
|
void |
register(Datasource datasource) |
void |
registerDependency(Datasource datasource,
Datasource dependFrom,
java.lang.String propertyName)
Register dependency between datasources.
|
void |
registerListener(ParameterInfo item,
Datasource datasource) |
void |
removeAfterCommitListener(DsContext.AfterCommitListener listener) |
void |
removeBeforeCommitListener(DsContext.BeforeCommitListener listener) |
void |
removeListener(DsContext.CommitListener listener)
Remove commit events listener.
|
protected void |
repairReferences(CommitContext context) |
protected void |
repairReferences(Entity entity,
Entity contextEntity) |
protected void |
replaceMasterCopies(Entity entity,
NestedDatasource datasource) |
void |
resumeSuspended() |
void |
setDiscardCommitted(boolean discardCommitted)
Set to true if the DsContext will be discarded right after commit hence it doesn't need committed instances.
|
void |
setFrameContext(FrameContext windowContext) |
void |
setParent(DsContext parent) |
void |
unregister(Datasource datasource) |
protected FrameContext windowContext
protected DataSupplier dataservice
protected DsContext parent
protected java.util.List<DsContext> children
protected java.util.Map<java.lang.String,Datasource> datasourceMap
protected java.util.Map<Datasource,Datasource> dependencies
protected java.util.Map<java.lang.String,java.lang.String> aliasesMap
protected Metadata metadata
protected java.util.List<DsContextImplementation.LazyTask> lazyTasks
protected java.util.List<DsContext.BeforeCommitListener> beforeCommitListeners
protected java.util.List<DsContext.AfterCommitListener> afterCommitListeners
public DsContextImpl(DataSupplier dataservice)
public void addLazyTask(DsContextImplementation.LazyTask lazyTask)
addLazyTask
in interface DsContextImplementation
public void executeLazyTasks()
executeLazyTasks
in interface DsContextImplementation
public void resumeSuspended()
resumeSuspended
in interface DsContextImplementation
protected void addDsContextToResume(DsContext dsContext, java.util.List<CollectionDatasource.Suspendable> list)
protected void addDatasourceToResume(java.util.List<CollectionDatasource.Suspendable> list, Datasource datasource)
public FrameContext getFrameContext()
getFrameContext
in interface DsContext
Window
, its WindowContext
is returned.public void setFrameContext(FrameContext windowContext)
setFrameContext
in interface DsContext
public boolean commit()
DsContext
public boolean isDiscardCommitted()
DsContext
isDiscardCommitted
in interface DsContext
public void setDiscardCommitted(boolean discardCommitted)
DsContext
setDiscardCommitted
in interface DsContext
protected boolean commitToParent(java.util.Collection<Datasource> datasources)
protected void notifyAllDsCommited(DataSupplier dataservice, java.util.Set<Entity> committedEntities)
public void fireBeforeCommit(CommitContext context)
fireBeforeCommit
in interface DsContextImplementation
public void fireAfterCommit(CommitContext context, java.util.Set<Entity> committedEntities)
fireAfterCommit
in interface DsContextImplementation
protected CommitContext createCommitContext(DataSupplier dataservice, java.util.Map<DataSupplier,java.util.Collection<Datasource<Entity>>> commitData)
protected void repairReferences(CommitContext context)
protected void addToContext(Entity entity, Datasource<Entity> datasource, java.util.Collection<Entity> entities, java.util.Map<java.lang.Object,View> views)
protected void replaceMasterCopies(Entity entity, NestedDatasource datasource)
protected java.util.Map<DataSupplier,java.util.Collection<Datasource<Entity>>> collectCommitData()
public void registerDependency(Datasource datasource, Datasource dependFrom, java.lang.String propertyName)
DsContext
registerDependency
in interface DsContext
datasource
- dependent datasourcedependFrom
- master datasourcepropertyName
- property of master datasource. If specified, the dependent datasource will be refreshed
also on this property value changepublic void addListener(DsContext.CommitListener listener)
DsContext
addListener
in interface DsContext
public void removeListener(DsContext.CommitListener listener)
DsContext
removeListener
in interface DsContext
public void addBeforeCommitListener(DsContext.BeforeCommitListener listener)
addBeforeCommitListener
in interface DsContext
public void removeBeforeCommitListener(DsContext.BeforeCommitListener listener)
removeBeforeCommitListener
in interface DsContext
public void addAfterCommitListener(DsContext.AfterCommitListener listener)
addAfterCommitListener
in interface DsContext
public void removeAfterCommitListener(DsContext.AfterCommitListener listener)
removeAfterCommitListener
in interface DsContext
public DataSupplier getDataSupplier()
getDataSupplier
in interface DsContext
public Datasource get(java.lang.String id)
DsContext
someFrameId.someDatasourceId
public Datasource getNN(java.lang.String name)
DsContext
someFrameId.someDatasourceId
.
Never returns null.
public java.util.Collection<Datasource> getAll()
public void addAlias(java.lang.String aliasDatasourceId, java.lang.String originalDatasourceId)
DsContext
public boolean isModified()
isModified
in interface DsContext
public void refresh()
DsContext
public void register(Datasource datasource)
register
in interface DsContextImplementation
public void unregister(Datasource datasource)
unregister
in interface DsContextImplementation
public void registerListener(ParameterInfo item, Datasource datasource)
registerListener
in interface DsContextImplementation
public DsContext getParent()
public void setParent(DsContext parent)
setParent
in interface DsContextImplementation
public java.util.List<DsContext> getChildren()
getChildren
in interface DsContext