• 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/JavaValueEncoder.java
1
package com.alicp.jetcache.support;
2

3
import com.alicp.jetcache.anno.SerialPolicy;
4

5
import java.io.ByteArrayOutputStream;
6
import java.io.IOException;
7
import java.io.ObjectOutputStream;
8
import java.lang.ref.WeakReference;
9

10
/**
11
 * Created on 2016/10/4.
12
 *
13
 * @author huangli
14
 */
15
public class JavaValueEncoder extends AbstractValueEncoder {
16

17
    public static final JavaValueEncoder INSTANCE = new JavaValueEncoder(true);
×
18

19
    private static final int INIT_BUF_SIZE = 2048;
20

21
    public JavaValueEncoder(boolean useIdentityNumber) {
22
        super(useIdentityNumber);
×
23
    }
×
24

25
    static ObjectPool<ByteArrayOutputStream> bosPool = new ObjectPool<>(16, new ObjectPool.ObjectFactory<ByteArrayOutputStream>() {
×
26
        @Override
27
        public ByteArrayOutputStream create() {
28
            return new ByteArrayOutputStream(INIT_BUF_SIZE);
×
29
        }
30

31
        @Override
32
        public void reset(ByteArrayOutputStream obj) {
33
            obj.reset();
×
34
        }
×
35
    });
36

37
    @Override
38
    public byte[] apply(Object value) {
39
        ByteArrayOutputStream bos = null;
×
40
        try {
41
            bos = bosPool.borrowObject();
×
42
            if (useIdentityNumber) {
×
43
                bos.write((SerialPolicy.IDENTITY_NUMBER_JAVA >> 24) & 0xFF);
×
44
                bos.write((SerialPolicy.IDENTITY_NUMBER_JAVA >> 16) & 0xFF);
×
45
                bos.write((SerialPolicy.IDENTITY_NUMBER_JAVA >> 8) & 0xFF);
×
46
                bos.write(SerialPolicy.IDENTITY_NUMBER_JAVA & 0xFF);
×
47
            }
48
            ObjectOutputStream oos = new ObjectOutputStream(bos);
×
49
            oos.writeObject(value);
×
50
            oos.flush();
×
51
            return bos.toByteArray();
×
52
        } catch (IOException e) {
×
53
            StringBuilder sb = new StringBuilder("Java Encode error. ");
×
54
            sb.append("msg=").append(e.getMessage());
×
55
            throw new CacheEncodeException(sb.toString(), e);
×
56
        } finally {
57
            if (bos != null) {
×
58
                bosPool.returnObject(bos);
×
59
            }
60
        }
61
    }
62
}
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