Class CachedModel<ModelElementType>

java.lang.Object
org.eclipse.epsilon.eol.models.Model
org.eclipse.epsilon.eol.models.CachedModel<ModelElementType>
All Implemented Interfaces:
AutoCloseable, IModel
Direct Known Subclasses:
AbstractEmfModel, AbstractSimulinkModel, BibtexModel, CsvModel, HtmlModel, JdtModel, JsonModel, PlainXmlModel, YamlModel

public abstract class CachedModel<ModelElementType> extends Model
A model that performs memoization of allContents, getAllOfType and getAllOfKind. Subclasses should implement the template methods, which compute real values from the model or provide keys that can be used with a Map. Although the collections used here are optionally thread-safe, subclasses should manage their own data structures according to the isConcurrent flag. In particular, allContentsFromModel() should be managed appropriately by subclasses.