6128 |
12 Feb 21 |
nicklas |
1 |
package net.sf.basedb.varsearch.util; |
6128 |
12 Feb 21 |
nicklas |
2 |
|
6128 |
12 Feb 21 |
nicklas |
3 |
import java.util.Collection; |
6128 |
12 Feb 21 |
nicklas |
4 |
import java.util.LinkedHashSet; |
6128 |
12 Feb 21 |
nicklas |
5 |
|
6128 |
12 Feb 21 |
nicklas |
6 |
|
6128 |
12 Feb 21 |
nicklas |
7 |
/** |
6128 |
12 Feb 21 |
nicklas |
Variant of a LinkedHashSet that simply ignore null values. |
6128 |
12 Feb 21 |
nicklas |
@author nicklas |
6128 |
12 Feb 21 |
nicklas |
10 |
*/ |
6128 |
12 Feb 21 |
nicklas |
11 |
public class NullSafeLinkedSet<E> |
6128 |
12 Feb 21 |
nicklas |
12 |
extends LinkedHashSet<E> |
6128 |
12 Feb 21 |
nicklas |
13 |
{ |
6128 |
12 Feb 21 |
nicklas |
14 |
|
6128 |
12 Feb 21 |
nicklas |
15 |
private static final long serialVersionUID = 3606992818619812054L; |
6128 |
12 Feb 21 |
nicklas |
16 |
|
6128 |
12 Feb 21 |
nicklas |
17 |
@Override |
6128 |
12 Feb 21 |
nicklas |
18 |
public boolean add(E e) |
6128 |
12 Feb 21 |
nicklas |
19 |
{ |
6128 |
12 Feb 21 |
nicklas |
20 |
return e == null ? false : super.add(e); |
6128 |
12 Feb 21 |
nicklas |
21 |
} |
6128 |
12 Feb 21 |
nicklas |
22 |
|
6128 |
12 Feb 21 |
nicklas |
23 |
@Override |
6128 |
12 Feb 21 |
nicklas |
24 |
public boolean addAll(Collection<? extends E> c) |
6128 |
12 Feb 21 |
nicklas |
25 |
{ |
6128 |
12 Feb 21 |
nicklas |
26 |
if (c == null || c.isEmpty()) return false; |
6128 |
12 Feb 21 |
nicklas |
27 |
boolean modified = false; |
6128 |
12 Feb 21 |
nicklas |
28 |
for (E e : c) |
6128 |
12 Feb 21 |
nicklas |
29 |
{ |
6128 |
12 Feb 21 |
nicklas |
30 |
if (add(e)) modified = true; |
6128 |
12 Feb 21 |
nicklas |
31 |
} |
6128 |
12 Feb 21 |
nicklas |
32 |
return modified; |
6128 |
12 Feb 21 |
nicklas |
33 |
} |
6128 |
12 Feb 21 |
nicklas |
34 |
|
6128 |
12 Feb 21 |
nicklas |
35 |
} |