1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.osgi.service.importer.support.internal.collection;
17
18 import java.util.Comparator;
19
20 import org.osgi.framework.BundleContext;
21 import org.osgi.framework.Filter;
22 import org.springframework.osgi.service.importer.support.internal.aop.ServiceProxyCreator;
23
24 /**
25 * Ordered list similar to a SortedSet with the difference, that it accepts
26 * duplicates.
27 *
28 * @see Comparable
29 * @see Comparator
30 * @see java.util.SortedSet
31 *
32 * @author Costin Leau
33 *
34 */
35 public class OsgiServiceSortedList extends OsgiServiceList {
36
37 private final Comparator comparator;
38
39 /**
40 * @param filter
41 * @param context
42 * @param classLoader
43 */
44 public OsgiServiceSortedList(Filter filter, BundleContext context, ClassLoader classLoader,
45 ServiceProxyCreator proxyCreator) {
46 this(filter, context, classLoader, null, proxyCreator);
47 }
48
49 public OsgiServiceSortedList(Filter filter, BundleContext context, ClassLoader classLoader, Comparator comparator,
50 ServiceProxyCreator proxyCreator) {
51 super(filter, context, classLoader, proxyCreator);
52 this.comparator = comparator;
53 }
54
55 protected DynamicCollection createInternalDynamicStorage() {
56 storage = new DynamicSortedList(comparator);
57 return (DynamicCollection) storage;
58 }
59
60 public Comparator comparator() {
61 return comparator;
62 }
63
64 }