• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

leeonky / test-charm-java / 293

12 Sep 2025 04:43PM UTC coverage: 74.22% (-0.09%) from 74.312%
293

push

circleci

leeonky
create sub list from spec list in spec

33 of 42 new or added lines in 8 files covered. (78.57%)

32 existing lines in 11 files now uncovered.

8234 of 11094 relevant lines covered (74.22%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

71.43
/bean-util/src/main/java/com/github/leeonky/util/GenericBeanClass.java
1
package com.github.leeonky.util;
2

3
import java.lang.reflect.ParameterizedType;
4
import java.lang.reflect.Type;
5
import java.util.Map;
6
import java.util.Objects;
7
import java.util.Optional;
8
import java.util.concurrent.ConcurrentHashMap;
9

10
public class GenericBeanClass<T> extends BeanClass<T> {
11
    private final static Map<GenericType, GenericBeanClass<?>> instanceCache = new ConcurrentHashMap<>();
1✔
12
    private final GenericType genericType;
13

14
    @SuppressWarnings("unchecked")
15
    protected GenericBeanClass(GenericType genericType) {
16
        super((Class<T>) genericType.getRawType());
1✔
17
        this.genericType = genericType;
1✔
18
    }
1✔
19

20
    public static BeanClass<?> create(GenericType genericType) {
21
        return instanceCache.computeIfAbsent(genericType, GenericBeanClass::new);
1✔
22
    }
23

24
    @SuppressWarnings("unchecked")
25
    public static <T> GenericBeanClass<T> create(Class<?> rawClass, Type... types) {
NEW
26
        return (GenericBeanClass<T>) create(GenericType.createGenericType(new ParameterizedType() {
×
27

28
            @Override
29
            public Type[] getActualTypeArguments() {
NEW
30
                return types;
×
31
            }
32

33
            @Override
34
            public Type getRawType() {
NEW
35
                return rawClass;
×
36
            }
37

38
            @Override
39
            public Type getOwnerType() {
NEW
40
                return null;
×
41
            }
42
        }));
43
    }
44

45
    @Override
46
    public Optional<BeanClass<?>> getTypeArguments(int position) {
47
        return genericType.getGenericTypeParameter(position).map(BeanClass::create);
1✔
48
    }
49

50
    @Override
51
    public boolean hasTypeArguments() {
52
        return genericType.hasTypeArguments();
1✔
53
    }
54

55
    @Override
56
    public int hashCode() {
57
        return Objects.hash(GenericBeanClass.class, genericType);
1✔
58
    }
59

60
    @Override
61
    public boolean equals(Object obj) {
62
        return obj instanceof GenericBeanClass && Objects.equals(genericType, ((GenericBeanClass) obj).genericType);
1✔
63
    }
64

65
    @Override
66
    public Type getGenericType() {
67
        return genericType.getGenericType();
1✔
68
    }
69
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc