Class CrossModelEnvironment
- java.lang.Object
 - 
- jetbrains.mps.generator.impl.plan.CrossModelEnvironment
 
 
- 
public class CrossModelEnvironment extends Object
Captures what outer world would like to tell generator about available cross-model reference targets.FIXME likely, we shall not keep checkpoint models for actions other than true generate (e.g. text preview). Still shall resolve cross model references, but #createCheckpoint shall become no-op. OTOH, what if I preview 2 nodes ith cross-references from 2 different models? Kept, but separately?
XXX perhaps, can instantiate CME with PlanIdentity at hand (does plan change during generation run? It's per-model, after all).
- Since:
 - 3.3
 
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCrossModelEnvironment.CacheGen 
- 
Constructor Summary
Constructors Constructor Description CrossModelEnvironment(TransientModelsProvider tmProvider, ModelStreamManager.Provider streamProvider) 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SModelcreateBlankCheckpointModel(SModelReference originalModel, CheckpointIdentity previousCheckpoint, CheckpointIdentity step)ModelCheckpointsgetState(SModel model)FIXME Given CP could be defined in a plan/CPSet other then the one being executed, is there any sense to pass planIdentity, not CPIdentity here.static booleanisCheckpointModel(SModel m)voidpublishCheckpoint(SModelReference originalModel, CheckpointState cpState) 
 - 
 
- 
- 
Constructor Detail
- 
CrossModelEnvironment
public CrossModelEnvironment(TransientModelsProvider tmProvider, ModelStreamManager.Provider streamProvider)
 
 - 
 
- 
Method Detail
- 
getState
@Nullable public ModelCheckpoints getState(@NotNull SModel model)
FIXME Given CP could be defined in a plan/CPSet other then the one being executed, is there any sense to pass planIdentity, not CPIdentity here. Perhaps, could hide ModelCheckpoints concept altogether as implementation detail?- Returns:
 - recorded checkpoints for the model, if any
 
 
- 
createBlankCheckpointModel
public SModel createBlankCheckpointModel(SModelReference originalModel, @Nullable CheckpointIdentity previousCheckpoint, CheckpointIdentity step)
 
- 
publishCheckpoint
public void publishCheckpoint(@NotNull SModelReference originalModel, @NotNull CheckpointState cpState)
 
 - 
 
 -