aboutsummaryrefslogtreecommitdiffstats
path: root/common/src/main/java/org/onap/so/client/CacheFactory.java
blob: 6bc48584632d6777e65c0c1247c048740bafbbe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package org.onap.so.client;


import java.util.concurrent.TimeUnit;
import javax.cache.configuration.Factory;
import javax.cache.expiry.Duration;
import javax.cache.expiry.ExpiryPolicy;
import javax.cache.expiry.TouchedExpiryPolicy;

public class CacheFactory implements Factory<ExpiryPolicy> {

    private static final long serialVersionUID = 8948728679233836929L;

    private final CacheProperties props;

    public CacheFactory(CacheProperties props) {
        this.props = props;
    }

    @Override
    public ExpiryPolicy create() {
        return TouchedExpiryPolicy.factoryOf(new Duration(TimeUnit.MILLISECONDS, props.getMaxAge())).create();
    }

}