01: /*
02: Copyright (c) 2004-2005, Dennis M. Sosnoski
03: All rights reserved.
04:
05: Redistribution and use in source and binary forms, with or without modification,
06: are permitted provided that the following conditions are met:
07:
08: * Redistributions of source code must retain the above copyright notice, this
09: list of conditions and the following disclaimer.
10: * Redistributions in binary form must reproduce the above copyright notice,
11: this list of conditions and the following disclaimer in the documentation
12: and/or other materials provided with the distribution.
13: * Neither the name of JiBX nor the names of its contributors may be used
14: to endorse or promote products derived from this software without specific
15: prior written permission.
16:
17: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18: ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
21: ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22: (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24: ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27: */
28:
29: package org.jibx.binding.model;
30:
31: import java.util.ArrayList;
32: import java.util.Collection;
33:
34: /**
35: * Unmodifiable empty array list. This defines a singleton instance of itself,
36: * which can then be used whereever an empty list is convenient.
37: *
38: * @author Dennis M. Sosnoski
39: * @version 1.0
40: */
41:
42: public class EmptyList extends ArrayList {
43: public static final EmptyList INSTANCE = new EmptyList();
44:
45: private EmptyList() {
46: }
47:
48: /* (non-Javadoc)
49: * @see java.util.List#add(int, java.lang.Object)
50: */
51: public void add(int index, Object element) {
52: throw new UnsupportedOperationException(
53: "List is not modifiable");
54: }
55:
56: /* (non-Javadoc)
57: * @see java.util.Collection#add(java.lang.Object)
58: */
59: public boolean add(Object o) {
60: throw new UnsupportedOperationException(
61: "List is not modifiable");
62: }
63:
64: /* (non-Javadoc)
65: * @see java.util.Collection#addAll(java.util.Collection)
66: */
67: public boolean addAll(Collection c) {
68: throw new UnsupportedOperationException(
69: "List is not modifiable");
70: }
71:
72: /* (non-Javadoc)
73: * @see java.util.List#addAll(int, java.util.Collection)
74: */
75: public boolean addAll(int index, Collection c) {
76: throw new UnsupportedOperationException(
77: "List is not modifiable");
78: }
79:
80: /* (non-Javadoc)
81: * @see java.util.ArrayList#ensureCapacity(int)
82: */
83: public void ensureCapacity(int minCapacity) {
84: throw new UnsupportedOperationException(
85: "List is not modifiable");
86: }
87: }
|