1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.om.impl;
18
19 import java.io.Serializable;
20 import java.util.ArrayList;
21 import java.util.Collection;
22 import java.util.Iterator;
23 import java.util.Locale;
24
25 import org.apache.jetspeed.om.common.MutableDisplayNameSet;
26 import org.apache.jetspeed.util.JetspeedLocale;
27 import org.apache.pluto.om.common.DisplayName;
28 /***
29 * DisplayNameSetImpl
30 *
31 * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
32 * @version $Id: DisplayNameSetImpl.java 517121 2007-03-12 07:45:49Z ate $
33 *
34 */
35 public class DisplayNameSetImpl implements MutableDisplayNameSet, Serializable
36 {
37
38 /*** Specifies the type Description we are storing */
39 protected String displayNameType;
40
41 protected Collection innerCollection;
42
43
44
45
46 public DisplayNameSetImpl()
47 {
48 super();
49 this.innerCollection = new ArrayList();
50 }
51
52 public DisplayNameSetImpl(Collection collection)
53 {
54 super();
55 this.innerCollection = collection;
56 }
57
58 /***
59 * @see org.apache.pluto.om.common.DisplayNameSet#get(java.util.Locale)
60 */
61 public DisplayName get(Locale arg0)
62 {
63
64 DisplayName fallBack = null;
65 Iterator searchItr = innerCollection.iterator();
66 while (searchItr.hasNext())
67 {
68 DisplayName aDName = (DisplayName) searchItr.next();
69 if (aDName.getLocale().equals(arg0))
70 {
71 return aDName;
72 }
73 else if (aDName.getLocale().getLanguage().equals(arg0.getLanguage()))
74 {
75 fallBack = aDName;
76 }
77 else if (fallBack == null && aDName.getLocale().equals(JetspeedLocale.getDefaultLocale()))
78 {
79 fallBack = aDName;
80 }
81 }
82
83 return fallBack;
84 }
85
86 public void addDisplayName(DisplayName name)
87 {
88 if (name == null)
89 {
90 throw new IllegalArgumentException("DisplayName argument cannot be null");
91 }
92
93 add(name);
94 }
95
96 /***
97 * @see java.util.Collection#add(java.lang.Object)
98 */
99 public boolean add(Object o)
100 {
101 return innerCollection.add(o);
102 }
103
104 /***
105 * @see java.util.Collection#remove(java.lang.Object)
106 */
107 public boolean remove(Object o)
108 {
109 return innerCollection.remove(o);
110 }
111
112 /***
113 * @see org.apache.pluto.om.common.DisplayNameSet#iterator()
114 */
115 public Iterator iterator()
116 {
117 return this.innerCollection.iterator();
118 }
119
120 /***
121 * @return
122 */
123 public Collection getInnerCollection()
124 {
125 return innerCollection;
126 }
127
128 /***
129 * @param collection
130 */
131 public void setInnerCollection(Collection collection)
132 {
133 innerCollection = collection;
134 }
135
136 }