KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > cache > eviction > FIFOConfiguration


1 /*
2  * JBoss, the OpenSource J2EE webOS
3  *
4  * Distributable under LGPL license.
5  * See terms of license at gnu.org.
6  */

7 package org.jboss.cache.eviction;
8
9 import org.jboss.cache.config.ConfigurationException;
10
11 /**
12  * Configuration for {@link FIFOPolicy}.
13  * <p/>
14  * If configured via XML, expects the following:
15  * <p/>
16  * <pre>
17  * <region name="abc">
18  * <attribute name="maxNodes">1000</attribute>
19  * </region>
20  * </pre>
21  *
22  * Requires a "maxNodes" attribute otherwise a ConfigurationException is thrown.
23  *
24  * @author Daniel Huang (dhuang@jboss.org)
25  * @version $Revision: 1.8 $
26  */

27 public class FIFOConfiguration extends EvictionPolicyConfigBase
28 {
29    /** The serialVersionUID */
30    private static final long serialVersionUID = -7229715009546277313L;
31
32    public FIFOConfiguration()
33    {
34       setEvictionPolicyClassName();
35       // We require that maxNodes is set
36
setMaxNodes(-1);
37    }
38    
39    /**
40     * Requires a positive maxNodes value or ConfigurationException
41     * is thrown.
42     */

43    @Override JavaDoc
44    public void validate() throws ConfigurationException
45    {
46       if (getMaxNodes() < 0)
47          throw new ConfigurationException("maxNodes not configured");
48    }
49
50    public String JavaDoc toString()
51    {
52       StringBuffer JavaDoc ret = new StringBuffer JavaDoc();
53       ret.append("LFUConfiguration: maxNodes = ").append(getMaxNodes());
54       return ret.toString();
55    }
56
57    @Override JavaDoc
58    public boolean equals(Object JavaDoc obj)
59    {
60       return (obj instanceof FIFOConfiguration && super.equals(obj));
61    }
62    
63    @Override JavaDoc
64    protected void setEvictionPolicyClassName()
65    {
66       setEvictionPolicyClass(FIFOPolicy.class.getName());
67    }
68
69    @Override JavaDoc
70    public void reset()
71    {
72       setMaxNodes(-1);
73    }
74 }
75
Popular Tags