All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.ehcache.statistics.CoreStatistics Maven / Gradle / Ivy

Go to download

Internal ehcache-core module. This artifact is not meant to be used directly for jdk 1.5

The newest version!
/**
 *  Copyright Terracotta, Inc.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package net.sf.ehcache.statistics;

import net.sf.ehcache.CacheOperationOutcomes;
import net.sf.ehcache.store.StoreOperationOutcomes;
import net.sf.ehcache.transaction.xa.XaCommitOutcome;
import net.sf.ehcache.transaction.xa.XaRecoveryOutcome;
import net.sf.ehcache.transaction.xa.XaRollbackOutcome;

/**
 * The CoreStatistics interface.
 *
 * @author cschanck
 */
public interface CoreStatistics {

    /**
     * The Interface CountOperation.
     *
     * @param  the generic type
     */
    public interface CountOperation {

        /**
         * Value.
         *
         * @param result the result
         * @return the long
         */
        long value(T result);

        /**
         * Value.
         *
         * @param results the results
         * @return the long
         */
        long value(T... results);
    }

    /**
     * Gets the.
     *
     * @return the count operation
     */
    public CountOperation get();

    /**
     * Put.
     *
     * @return the count operation
     */
    public CountOperation put();

  /**
   * Remove operation.
   *
   * @return the count operation
   */
    public CountOperation remove();

    /**
     * The single arg replace operation.
     *
     * @return the count operation
     */
    public CountOperation replaceOneArg();

    /**
     * The two arg replace operation.
     *
     * @return the count operation
     */
    public CountOperation replaceTwoArg();

    /**
     * The put if absent operation.
     *
     * @return the count operation
     */
    public CountOperation putIfAbsent();

    /**
     * The remove element operation.
     *
     * @return the count operation
     */
    public CountOperation removeElement();

    /**
     * Local heap get.
     *
     * @return the count operation
     */
    public CountOperation localHeapGet();

    /**
     * Local heap put.
     *
     * @return the count operation
     */
    public CountOperation localHeapPut();

    /**
     * Local heap remove.
     *
     * @return the count operation
     */
    public CountOperation localHeapRemove();

    /**
     * Local off heap get.
     *
     * @return the count operation
     */
    public CountOperation localOffHeapGet();

    /**
     * Local off heap put.
     *
     * @return the count operation
     */
    public CountOperation localOffHeapPut();

    /**
     * Local off heap remove.
     *
     * @return the count operation
     */
    public CountOperation localOffHeapRemove();

    /**
     * Local disk get.
     *
     * @return the count operation
     */
    public CountOperation localDiskGet();

    /**
     * Local disk put.
     *
     * @return the count operation
     */
    public CountOperation localDiskPut();

    /**
     * Local disk remove.
     *
     * @return the count operation
     */
    public CountOperation localDiskRemove();

    /**
     * Xa commit.
     *
     * @return the count operation
     */
    public CountOperation xaCommit();

    /**
     * Xa recovery.
     *
     * @return the count operation
     */
    public CountOperation xaRecovery();

    /**
     * Xa rollback.
     *
     * @return the count operation
     */
    public CountOperation xaRollback();

    /**
     * Cache eviction.
     *
     * @return the count operation
     */
    public CountOperation cacheEviction();

    /**
     * Cache expiration.
     *
     * @return the count operation
     */
    public CountOperation cacheExpiration();

    /**
     * Cache cluster event.
     * 
     * @return the count operation
     */
    public CountOperation cacheClusterEvent();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy