Class ModelAccess

  • All Implemented Interfaces:
    ModelCommandExecutor, ModelAccess

    public abstract class ModelAccess
    extends AbstractModelAccess
    implements ModelCommandExecutor, ModelAccess
    This if front-end for legacy code that deals with a single instance of MA (available through MA.instance()). There are 2 implementations generally available, DefaultModelAccess and WorkbenchModelAccess. Neither is an openapi.ModelAccess available from SRepository#getModelAccess() call, opeanpi.MA instances from repository now merely delegate to the singleton available from #instance() method. For now, WMA provides implementation of methods that deal with Project (i.e. undo support), therefore we keep methods with Project as part of this class implementation API. Instead, we shall implement execute* methods in respective openapi.MA implementations bound to project repositories and remove Project-aware methods from this class altogether. We may want to keep this class for another release as DMA and WMA have different perspective on platform locking (latter adds IDEA platform locks), and with that, we may still delegate general read/write actions of repository's MA to this singleton. The actual implementation of ModelAccess interface methods Probably it is better to merge it with ProjectModelAccess and ModelAccessBase which currently simply delegate all methods to this class
    See Also:
    ModelAccess