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

alibaba / jetcache / #405

16 Apr 2024 05:58AM UTC coverage: 0.0% (-88.9%) from 88.866%
#405

push

areyouok
add encoding to fix coverage report

0 of 5353 relevant lines covered (0.0%)

0.0 hits per line

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

0.0
/jetcache-core/src/main/java/com/alicp/jetcache/support/AbstractValueDecoder.java
1
package com.alicp.jetcache.support;
2

3
import java.util.Objects;
4
import java.util.function.Function;
5

6
/**
7
 * Created on 2016/10/4.
8
 *
9
 * @author huangli
10
 */
11
public abstract class AbstractValueDecoder implements Function<byte[], Object>, ValueEncoders {
12

13
    protected boolean useIdentityNumber;
14

15
    private DecoderMap decoderMap = DecoderMap.defaultInstance();
×
16

17
    public AbstractValueDecoder(boolean useIdentityNumber) {
×
18
        this.useIdentityNumber = useIdentityNumber;
×
19
    }
×
20

21
    protected int parseHeader(byte[] buf) {
22
        int x = 0;
×
23
        x = x | (buf[0] & 0xFF);
×
24
        x <<= 8;
×
25
        x = x | (buf[1] & 0xFF);
×
26
        x <<= 8;
×
27
        x = x | (buf[2] & 0xFF);
×
28
        x <<= 8;
×
29
        x = x | (buf[3] & 0xFF);
×
30
        return x;
×
31
    }
32

33
    protected abstract Object doApply(byte[] buffer) throws Exception;
34

35
    @Override
36
    public Object apply(byte[] buffer) {
37
        try {
38
            if (useIdentityNumber) {
×
39
                decoderMap.initDefaultDecoder();
×
40
                int identityNumber = parseHeader(buffer);
×
41
                AbstractValueDecoder decoder = decoderMap.getDecoder(identityNumber);
×
42
                Objects.requireNonNull(decoder, "no decoder for identity number:" + identityNumber);
×
43
                return decoder.doApply(buffer);
×
44
            } else {
45
                return doApply(buffer);
×
46
            }
47
        } catch (Throwable e) {
×
48
            throw new CacheEncodeException("decode error", e);
×
49
        }
50
    }
51

52
    public boolean isUseIdentityNumber() {
53
        return useIdentityNumber;
×
54
    }
55

56
    public void setDecoderMap(DecoderMap decoderMap) {
57
        this.decoderMap = decoderMap;
×
58
    }
×
59
}
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

© 2025 Coveralls, Inc