public void batchOnInvalidate(String template, int cause, int locality, int source, int dels) {
        final String methodName = "batchOnInvalidate()";

        CacheStatsModule csm = null;
        if ((csm = getCSM(template)) == null) {
            return;
        }
        if (tc.isDebugEnabled())
            Tr.debug(tc, methodName + " cacheName=" + _sCacheName + " template=" + template + " cause=" + cause + " locality=" + locality
                    + " source=" + source + " delete=" + dels + " disk=" + _csmDisk + " parentEnable=" + _enable + " " + this);
        switch (cause) {
        case DIRECT:
            if (csm._enable && csm._explicitInvalidationCount != null)
                csm._explicitInvalidationCount.increment(dels);
            switch (locality) {
            case MEMORY:
                if (csm._enable) {
                    if (csm._explicitMemoryInvalidationCount != null)
                        csm._explicitMemoryInvalidationCount.increment(dels);
                    if (csm._inMemoryAndDiskCacheEntryCount != null)
                        csm._inMemoryAndDiskCacheEntryCount.decrement(dels);
                }
                break;
            case DISK:
                if (_csmDisk != null && _csmDisk._enable && _csmDisk._explicitInvalidationsFromDisk != null) {
                    _csmDisk._explicitInvalidationsFromDisk.increment(dels);
                }
                if (csm._enable) {
                    if (csm._explicitDiskInvalidationCount != null)
                        csm._explicitDiskInvalidationCount.increment(dels);
                    if (csm._inMemoryAndDiskCacheEntryCount != null)
                        csm._inMemoryAndDiskCacheEntryCount.decrement(dels);
                }
                break;
            default:
                break;
            }
            switch (source) {
            case LOCAL:
                if (csm._enable && csm._localExplicitInvalidationCount != null)
                    csm._localExplicitInvalidationCount.increment(dels);
                break;
            case REMOTE:
                if (csm._enable && csm._remoteExplicitInvalidationCount != null)
                    csm._remoteExplicitInvalidationCount.increment(dels);
                break;
            default:
                break;
            }
            break;
        case LRU:
            if (csm._enable && csm._lruInvalidationCount != null)
                csm._lruInvalidationCount.increment(dels);
            if (locality != DISK) {
                if (csm._enable && csm._inMemoryAndDiskCacheEntryCount != null)
                    csm._inMemoryAndDiskCacheEntryCount.decrement(dels);
            }
            break;
        case TIMEOUT:
            if (_csmDisk != null && locality == DISK) {
                if (_csmDisk._enable && _csmDisk._timeoutInvalidationsFromDisk != null) {
                    _csmDisk._timeoutInvalidationsFromDisk.increment(dels);
                }
            }
            if (csm._enable) {
                if (csm._timeoutInvalidationCount != null)
                    csm._timeoutInvalidationCount.increment(dels);
                if (csm._inMemoryAndDiskCacheEntryCount != null)
                    csm._inMemoryAndDiskCacheEntryCount.decrement(dels);
            }
            break;
        case DISK_GARBAGE_COLLECTOR:
            if (_csmDisk != null && _csmDisk._enable && _csmDisk._garbageCollectorInvalidationsFromDisk != null) {
                _csmDisk._garbageCollectorInvalidationsFromDisk.increment(dels);
            }
            if (csm._enable && csm._inMemoryAndDiskCacheEntryCount != null) {
                csm._inMemoryAndDiskCacheEntryCount.decrement(dels);
            }
            break;
        case DISK_OVERFLOW:
            if (_csmDisk != null && _csmDisk._enable && _csmDisk._overflowInvalidationsFromDisk != null) {
                _csmDisk._overflowInvalidationsFromDisk.increment(dels);
            }
            if (csm._enable && csm._inMemoryAndDiskCacheEntryCount != null) {
                csm._inMemoryAndDiskCacheEntryCount.decrement(dels);
            }
            break;
        default:
            break;
        }
        return;
    }
public void batchOnInvalidate ( String template , int cause , int locality , int source , int dels ) { final String methodName = "batchOnInvalidate()" ; CacheStatsModule csm = null ; if ( ( csm = getCSM ( template ) ) == null ) { return ; } if ( tc . isDebugEnabled ( ) ) Tr . debug ( tc , methodName + " cacheName=" + _sCacheName + " template=" + template + " cause=" + cause + " locality=" + locality + " source=" + source + " delete=" + dels + " disk=" + _csmDisk + " parentEnable=" + _enable + " " + this ) ; switch ( cause ) { case DIRECT : if ( csm . _enable && csm . _explicitInvalidationCount != null ) csm . _explicitInvalidationCount . increment ( dels ) ; switch ( locality ) { case MEMORY : if ( csm . _enable ) { if ( csm . _explicitMemoryInvalidationCount != null ) csm . _explicitMemoryInvalidationCount . increment ( dels ) ; if ( csm . _inMemoryAndDiskCacheEntryCount != null ) csm . _inMemoryAndDiskCacheEntryCount . decrement ( dels ) ; } break ; case DISK : if ( _csmDisk != null && _csmDisk . _enable && _csmDisk . _explicitInvalidationsFromDisk != null ) { _csmDisk . _explicitInvalidationsFromDisk . increment ( dels ) ; } if ( csm . _enable ) { if ( csm . _explicitDiskInvalidationCount != null ) csm . _explicitDiskInvalidationCount . increment ( dels ) ; if ( csm . _inMemoryAndDiskCacheEntryCount != null ) csm . _inMemoryAndDiskCacheEntryCount . decrement ( dels ) ; } break ; default : break ; } switch ( source ) { case LOCAL : if ( csm . _enable && csm . _localExplicitInvalidationCount != null ) csm . _localExplicitInvalidationCount . increment ( dels ) ; break ; case REMOTE : if ( csm . _enable && csm . _remoteExplicitInvalidationCount != null ) csm . _remoteExplicitInvalidationCount . increment ( dels ) ; break ; default : break ; } break ; case LRU : if ( csm . _enable && csm . _lruInvalidationCount != null ) csm . _lruInvalidationCount . increment ( dels ) ; if ( locality != DISK ) { if ( csm . _enable && csm . _inMemoryAndDiskCacheEntryCount != null ) csm . _inMemoryAndDiskCacheEntryCount . decrement ( dels ) ; } break ; case TIMEOUT : if ( _csmDisk != null && locality == DISK ) { if ( _csmDisk . _enable && _csmDisk . _timeoutInvalidationsFromDisk != null ) { _csmDisk . _timeoutInvalidationsFromDisk . increment ( dels ) ; } } if ( csm . _enable ) { if ( csm . _timeoutInvalidationCount != null ) csm . _timeoutInvalidationCount . increment ( dels ) ; if ( csm . _inMemoryAndDiskCacheEntryCount != null ) csm . _inMemoryAndDiskCacheEntryCount . decrement ( dels ) ; } break ; case DISK_GARBAGE_COLLECTOR : if ( _csmDisk != null && _csmDisk . _enable && _csmDisk . _garbageCollectorInvalidationsFromDisk != null ) { _csmDisk . _garbageCollectorInvalidationsFromDisk . increment ( dels ) ; } if ( csm . _enable && csm . _inMemoryAndDiskCacheEntryCount != null ) { csm . _inMemoryAndDiskCacheEntryCount . decrement ( dels ) ; } break ; case DISK_OVERFLOW : if ( _csmDisk != null && _csmDisk . _enable && _csmDisk . _overflowInvalidationsFromDisk != null ) { _csmDisk . _overflowInvalidationsFromDisk . increment ( dels ) ; } if ( csm . _enable && csm . _inMemoryAndDiskCacheEntryCount != null ) { csm . _inMemoryAndDiskCacheEntryCount . decrement ( dels ) ; } break ; default : break ; } return ; }
/*
Updates statistics for all types of invalidations - timeout, LRU, explicit invalidations

@param template the template of the cache entry. The template cannot be null for Servlet cache.

@param cause the cause of invalidation

@param locality whether the invalidation occurred on disk, in memory, or neither

@param source whether the invalidation was generated internally or remotely

@param dels number of invalidations that occurred