Skip to content

Commit 25230b0

Browse files
committed
Simplify internals for getting list of beans
1 parent cdcdc91 commit 25230b0

File tree

4 files changed

+13
-19
lines changed

4 files changed

+13
-19
lines changed

inject/src/main/java/io/avaje/inject/spi/DBeanMap.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,12 @@ <T> BeanEntry<T> candidate(Class<T> type, String name) {
6161
}
6262

6363
/**
64-
* Add all bean instances matching the given type to the list.
64+
* Return all bean instances matching the given type.
6565
*/
66-
@SuppressWarnings({"unchecked", "rawtypes"})
67-
void addAll(Class type, List list) {
66+
@SuppressWarnings("rawtypes")
67+
List<Object> all(Class type) {
6868
DContextEntry entry = beans.get(type.getCanonicalName());
69-
if (entry != null) {
70-
entry.addAll(list);
71-
}
69+
return entry != null ? entry.all() : Collections.emptyList();
7270
}
7371

7472
/**

inject/src/main/java/io/avaje/inject/spi/DBeanScope.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,7 @@ public <T> T get(Class<T> beanClass, String name) {
5454

5555
@Override
5656
public <T> List<T> list(Class<T> interfaceType) {
57-
List<T> list = new ArrayList<>();
58-
beans.addAll(interfaceType, list);
59-
return list;
57+
return (List<T>)beans.all(interfaceType);
6058
}
6159

6260
@Override
@@ -101,9 +99,7 @@ public <T> List<T> sortByPriority(List<T> list, final Class<? extends Annotation
10199

102100
@Override
103101
public List<Object> getBeansWithAnnotation(Class<?> annotation) {
104-
List<Object> list = new ArrayList<>();
105-
beans.addAll(annotation, list);
106-
return list;
102+
return beans.all(annotation);
107103
}
108104

109105
@Override

inject/src/main/java/io/avaje/inject/spi/DBuilder.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,10 @@ public <T> Set<T> getSet(Class<T> interfaceType) {
7979
return new LinkedHashSet<>(getList(interfaceType));
8080
}
8181

82-
@SuppressWarnings({"unchecked", "rawtypes"})
82+
@SuppressWarnings({"unchecked"})
8383
@Override
8484
public <T> List<T> getList(Class<T> interfaceType) {
85-
List list = new ArrayList<>();
86-
beanMap.addAll(interfaceType, list);
87-
return (List<T>) list;
85+
return (List<T>) beanMap.all(interfaceType);
8886
}
8987

9088
private <T> T getMaybe(Class<T> beanClass, String name) {

inject/src/main/java/io/avaje/inject/spi/DContextEntry.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,14 @@ <T> BeanEntry<T> candidate(String name) {
3030
}
3131

3232
/**
33-
* Add all the managed beans to the given list.
33+
* Return all the beans.
3434
*/
35-
void addAll(List<Object> appendToList) {
35+
List<Object> all() {
36+
List<Object> list = new ArrayList<>(entries.size());
3637
for (DContextEntryBean entry : entries) {
37-
appendToList.add(entry.getBean());
38+
list.add(entry.getBean());
3839
}
40+
return list;
3941
}
4042

4143
void add(DContextEntryBean entryBean) {

0 commit comments

Comments
 (0)