Interface IMetaFileCache

  • All Known Implementing Classes:
    MetaFileCacheImpl

    public interface IMetaFileCache
    This cache lives for the runtime of the parent Job or Trans. It is used to cache the JobMeta or TransMeta of any kjb or ktr that it needs to load to the course of the main job/trans execution. The intent here is to minimize the overhead of loading and parsing the jobs/transformations into their associated metas. Loading a ktr/kjb will require a call to the server if attached. If that kjb/ktr is called multiple times during the run, then each execution will again make the call to get the meta. This cache eliminates the need to repetitively load the kjb/ktr.
    • Method Detail

      • logCacheSummary

        void logCacheSummary​(org.pentaho.di.core.logging.LogChannelInterface logger)
      • getKey

        default String getKey​(org.pentaho.di.core.ObjectLocationSpecificationMethod specificationMethod,
                              String realFilenameOrId)
        Keys to the cache should always be generated using a method provided by this interface. This ensures that keys will remain unique across different nameSpace catagories.
        Parameters:
        specificationMethod - Defines different sources for the Meta defined by the ObjectLocationSpecificationMethod enum.
        realFilenameOrId - Contains the full file path or jackrabbit Id for the node
        Returns:
        The key to use to load or save an item to the cache.