Package jetbrains.mps.persistence
Class CopyFileBasedModelRootHelper<ModelRoot extends FileBasedModelRoot>
- java.lang.Object
 - 
- jetbrains.mps.persistence.CopyFileBasedModelRootHelper<ModelRoot>
 
 
- 
- Type Parameters:
 ModelRoot- type of model root that going to be copied
public class CopyFileBasedModelRootHelper<ModelRoot extends FileBasedModelRoot> extends Object
Helper class that encapsulates logic of cloning of file-based model roots. 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected ModelRootmySourceModelRootprotected AbstractModulemySourceModuleprotected ModelRootmyTargetModelRootprotected AbstractModulemyTargetModule 
- 
Constructor Summary
Constructors Constructor Description CopyFileBasedModelRootHelper(ModelRoot sourceModelRoot, ModelRoot targetModelRoot) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcopy()Copies all content from source model root to target model root.protected voidcopySourceRootData(SourceRoot sourceModelSourceRoot, SourceRoot targetModelSourceRoot)Given two source roots copies all content from one source root into another. 
 - 
 
- 
- 
Field Detail
- 
mySourceModelRoot
@NotNull protected final ModelRoot extends FileBasedModelRoot mySourceModelRoot
 
- 
myTargetModelRoot
@NotNull protected final ModelRoot extends FileBasedModelRoot myTargetModelRoot
 
- 
mySourceModule
@NotNull protected final AbstractModule mySourceModule
 
- 
myTargetModule
@NotNull protected final AbstractModule myTargetModule
 
 - 
 
- 
Method Detail
- 
copy
public void copy() throws CopyNotSupportedExceptionCopies all content from source model root to target model root. Does it in two steps: 1. copies information about content directory and specified source roots. 2. copies each source root to target model root viacopySourceRootData(SourceRoot, SourceRoot)- Throws:
 CopyNotSupportedException- If the source model root is out of the module directory location (since we have no idea which location for the copy we need to choose).- See Also:
 copySourceRootData(SourceRoot, SourceRoot),FileBasedModelRoot.setContentDirectory(IFile),FileBasedModelRoot.addSourceRoot(SourceRootKind, SourceRoot)
 
- 
copySourceRootData
protected void copySourceRootData(SourceRoot sourceModelSourceRoot, SourceRoot targetModelSourceRoot)
Given two source roots copies all content from one source root into another. By default, it simply copies all directory content contained in original source root. However, different model root implementations might override this logic if needed- Parameters:
 sourceModelSourceRoot- source root of original model roottargetModelSourceRoot- source root of new model root
 
 - 
 
 -