it.eng.spagobi.analiticalmodel.document.handlers
Class LovResultCacheManager

java.lang.Object
  extended by it.eng.spagobi.analiticalmodel.document.handlers.LovResultCacheManager

public class LovResultCacheManager
extends java.lang.Object

This class caches LOV (list of values) executions' result. The key of the cache element is composed by the user's identifier and the LOV definition. In case the LOV is a query and there are dependencies, the wrapped statement is used instead of the original statement.

Author:
Davide Zerbetto (davide.zerbetto@eng.it)

Constructor Summary
LovResultCacheManager()
           
 
Method Summary
 java.lang.String getLovResult(it.eng.spago.security.IEngUserProfile profile, ILovDetail lovDefinition, java.util.List<ObjParuse> dependencies, ExecutionInstance executionInstance, boolean retrieveIfNotcached)
          Returns the LOV result.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LovResultCacheManager

public LovResultCacheManager()
Method Detail

getLovResult

public java.lang.String getLovResult(it.eng.spago.security.IEngUserProfile profile,
                                     ILovDetail lovDefinition,
                                     java.util.List<ObjParuse> dependencies,
                                     ExecutionInstance executionInstance,
                                     boolean retrieveIfNotcached)
                              throws java.lang.Exception
Returns the LOV result. If the LOV result is in cache, it is returned; otherwise, if retrieveIfNotcached is true, the LOV is executed and returned, otherwise null is returned.

Parameters:
profile - The user profile object
lovDefinition - The LOV definition
dependencies - The dependencies to be considered
executionInstance - The execution instance
retrieveIfNotcached - If true and LOV is not cached, the LOV executed and cached, otherwise the LOV is not executed (and not cached)
Returns:
the LOV result, or null if the LOV is not cached and retrieveIfNotcached is false
Throws:
java.lang.Exception