Package jadex.commons
Class AbstractModelLoader
- java.lang.Object
- 
- jadex.commons.AbstractModelLoader
 
- 
- Direct Known Subclasses:
- BDIModelLoader,- BDIXModelLoader,- BpmnModelLoader,- MicroModelLoader,- MicroserviceModelLoader
 
 public abstract class AbstractModelLoader extends java.lang.ObjectLoader for managing models, loaded from disc and kept in cache.
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description classAbstractModelLoader.BrokenModelStore an exception during loading in cache.
 - 
Field SummaryFields Modifier and Type Field Description protected java.lang.String[]extensionsThe supported file extensions (if any).protected LRU<Tuple,ICacheableModel>modelcacheThe model cache (filename/imports -> loaded model).protected java.util.Map<java.lang.String,ICacheableModel>registeredThe registered models (filename -> loaded model).
 - 
Constructor SummaryConstructors Constructor Description AbstractModelLoader(java.lang.String[] extensions)Create a model loader.AbstractModelLoader(java.lang.String[] extensions, int cachesize)Create a model loader.
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclearModelCache()Clears the model cache.voidderegisterModel(java.lang.String key)Deregister a model.protected abstract ICacheableModeldoLoadModel(java.lang.String name, java.lang.String[] imports, ResourceInfo info, java.lang.ClassLoader classloader, java.lang.Object context)Load a model.ICacheableModelgetCachedModel(java.lang.String name, java.lang.String extension, java.lang.String[] imports, java.lang.Object clkey)Get a cached model.protected ResourceInfogetResourceInfo(java.lang.String name, java.lang.String[] imports, java.lang.ClassLoader classloader)Find the file for a given name using any supported extension.protected ResourceInfogetResourceInfo(java.lang.String name, java.lang.String extension, java.lang.String[] imports, java.lang.ClassLoader classloader)Find the file for a given name.ResourceInfogetResourceInfo0(java.lang.String name, java.lang.String[] imports, java.lang.ClassLoader classloader)Find the file for a given name using any supported extension.ICacheableModelloadModel(java.lang.String name, java.lang.String[] imports, java.lang.Object clkey, java.lang.ClassLoader classloader, java.lang.Object context)Load a model.ICacheableModelloadModel(java.lang.String name, java.lang.String extension, java.lang.String[] imports, java.lang.Object clkey, java.lang.ClassLoader classloader, java.lang.Object context)Load a model with a required extension.voidregisterModel(java.lang.String key, ICacheableModel model)Register a model.
 
- 
- 
- 
Field Detail- 
extensionsprotected java.lang.String[] extensions The supported file extensions (if any).
 - 
modelcacheprotected LRU<Tuple,ICacheableModel> modelcache The model cache (filename/imports -> loaded model).
 - 
registeredprotected java.util.Map<java.lang.String,ICacheableModel> registered The registered models (filename -> loaded model).
 
- 
 - 
Constructor Detail- 
AbstractModelLoaderpublic AbstractModelLoader(java.lang.String[] extensions) Create a model loader.- Parameters:
- extensions- The supported file extensions by order of importance.
 
 - 
AbstractModelLoaderpublic AbstractModelLoader(java.lang.String[] extensions, int cachesize)Create a model loader.- Parameters:
- extensions- The supported file extensions by order of importance.
 
 
- 
 - 
Method Detail- 
doLoadModelprotected abstract ICacheableModel doLoadModel(java.lang.String name, java.lang.String[] imports, ResourceInfo info, java.lang.ClassLoader classloader, java.lang.Object context) throws java.lang.Exception Load a model.- Parameters:
- name- The original name (i.e. not filename).
- info- The resource info.
- Throws:
- java.lang.Exception
 
 - 
getResourceInfoprotected ResourceInfo getResourceInfo(java.lang.String name, java.lang.String[] imports, java.lang.ClassLoader classloader) throws java.lang.Exception Find the file for a given name using any supported extension.- Parameters:
- name- The filename or logical name (resolved via imports and extensions).
- imports- The imports, if any.
- Returns:
- The resource info identifying the file.
- Throws:
- java.lang.Exception- when the file could not be found.
 
 - 
getResourceInfo0public ResourceInfo getResourceInfo0(java.lang.String name, java.lang.String[] imports, java.lang.ClassLoader classloader) Find the file for a given name using any supported extension.- Parameters:
- name- The filename or logical name (resolved via imports and extensions).
- imports- The imports, if any.
- Returns:
- The resource info identifying the file or null.
 
 - 
getResourceInfoprotected ResourceInfo getResourceInfo(java.lang.String name, java.lang.String extension, java.lang.String[] imports, java.lang.ClassLoader classloader) throws java.lang.Exception Find the file for a given name.- Parameters:
- name- The filename or logical name (resolved via imports and extension).
- extension- The required extension.
- imports- The imports, if any.
- Returns:
- The resource info identifying the file.
- Throws:
- java.lang.Exception
 
 - 
getCachedModelpublic ICacheableModel getCachedModel(java.lang.String name, java.lang.String extension, java.lang.String[] imports, java.lang.Object clkey) throws java.lang.Exception Get a cached model.- Parameters:
- name- The name of the model (file name or logical name).
- extension- The specific extension to look for.
- imports- The imports to use when resolving logical names.
- clkey- The class loader key to allow caching by e.g. RID.
- Returns:
- null, when model not found or not yet loaded.
- Throws:
- java.lang.Exception
 
 - 
loadModelpublic ICacheableModel loadModel(java.lang.String name, java.lang.String[] imports, java.lang.Object clkey, java.lang.ClassLoader classloader, java.lang.Object context) throws java.lang.Exception Load a model.- Parameters:
- name- The name of the model (file name or logical name).
- imports- The imports to use when resolving logical names.
- clkey- The class loader key to allow caching by e.g. RID.
- Throws:
- java.lang.Exception
 
 - 
loadModelpublic ICacheableModel loadModel(java.lang.String name, java.lang.String extension, java.lang.String[] imports, java.lang.Object clkey, java.lang.ClassLoader classloader, java.lang.Object context) throws java.lang.Exception Load a model with a required extension.- Parameters:
- name- The name of the model (file name or logical name).
- extension- The specific extension to look for.
- imports- The imports to use when resolving logical names.
- clkey- The class loader key to allow caching by e.g. RID.
- Throws:
- java.lang.Exception
 
 - 
registerModelpublic void registerModel(java.lang.String key, ICacheableModel model)Register a model.
 - 
deregisterModelpublic void deregisterModel(java.lang.String key) Deregister a model.
 - 
clearModelCachepublic void clearModelCache() Clears the model cache.
 
- 
 
-