View Javadoc

1   /***
2    *  Copyright 2003-2010 Terracotta, Inc.
3    *
4    *  Licensed under the Apache License, Version 2.0 (the "License");
5    *  you may not use this file except in compliance with the License.
6    *  You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *  Unless required by applicable law or agreed to in writing, software
11   *  distributed under the License is distributed on an "AS IS" BASIS,
12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *  See the License for the specific language governing permissions and
14   *  limitations under the License.
15   */
16  
17  package net.sf.ehcache.event;
18  
19  import net.sf.ehcache.CacheManager;
20  import net.sf.ehcache.util.PropertyUtil;
21  
22  import java.util.Properties;
23  
24  /***
25   * A factory which creates a counter, for testing purposes
26   *
27   * @author <a href="mailto:gluck@thoughtworks.com">Greg Luck</a>
28   * @version $Id: TestCacheManagerEventListenerFactory.html 13146 2011-08-01 17:12:39Z oletizi $
29   */
30  public class TestCacheManagerEventListenerFactory extends CacheManagerEventListenerFactory {
31      /***
32       * Create a <code>CacheEventListener</code>
33       *
34       *
35       * @param cacheManager
36       * @param properties implementation specific properties. These are configured as comma
37       *                   separated name value pairs in ehcache.xml
38       * @return a constructed CacheManagerEventListener
39       */
40      public CacheManagerEventListener createCacheManagerEventListener(CacheManager cacheManager, Properties properties) {
41          String type = PropertyUtil.extractAndLogProperty("type", properties);
42          if (type.equals("null") || type.equals("null")) {
43              return null;
44          } else if (type.equals("counting")) {
45              return new CountingCacheManagerEventListener();
46          } else {
47              return null;
48          }
49      }
50  }