View Javadoc

1   /*
2    * Copyright (c) 2003-2008 by Cosylab d. d.
3    *
4    * This file is part of Java-Common.
5    *
6    * Java-Common is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   *
11   * Java-Common is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU General Public License
17   * along with Java-Common.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  
20  package com.cosylab.util;
21  
22  import java.util.Enumeration;
23  
24  
25  /**
26   * This class defines enumeration with no elements. Its intended use is as
27   * return value when method returns enumeration that has no elements. This is
28   * a singleton implementation and instance of this class is obtained using
29   * <code>EmptyEnumeration.getInstance()</code> method.
30   * 
31   * <p>
32   * This class should serve as a convenience implementation of an interface.
33   * </p>
34   *
35   * @author <a href="mailto:ales.pucelj@cosylab.com">Ales Pucelj</a>
36   * @version $id$
37   */
38  public final class EmptyEnumeration implements Enumeration
39  {
40  	private static final Enumeration INSTANCE = new EmptyEnumeration();
41  
42  	/**
43  	 * Private singleton constructor.
44  	 */
45  	private EmptyEnumeration()
46  	{
47  		super();
48  	}
49  
50  	/**
51  	 * Returns singleton instance of this class.
52  	 *
53  	 * @return Instance of Enumeration.
54  	 */
55  	public static final Enumeration getInstance()
56  	{
57  		return INSTANCE;
58  	}
59  
60  	/**
61  	 * Returns false.
62  	 *
63  	 * @see java.util.Enumeration#hasMoreElements()
64  	 */
65  	public boolean hasMoreElements()
66  	{
67  		return false;
68  	}
69  
70  	/**
71  	 * Returns null.
72  	 *
73  	 * @see java.util.Enumeration#nextElement()
74  	 */
75  	public Object nextElement()
76  	{
77  		return null;
78  	}
79  }
80  
81  /* __oOo__ */