View Javadoc
1   package org.oxerr.spring.cache.redis.scored.score.resolver.inherited;
2   
3   import java.util.Optional;
4   
5   import org.oxerr.spring.cache.redis.scored.score.resolver.ScoreResolver;
6   import org.oxerr.spring.cache.redis.scored.score.resolver.ScoreUtils;
7   import org.oxerr.spring.cache.redis.scored.score.resolver.inherited.inheritable.Versioned;
8   
9   public class InheritedScoreResolver implements ScoreResolver {
10  
11  	private static final long serialVersionUID = 2021082001L;
12  
13  	@Override
14  	public Optional<Double> resolveScore(Object value) {
15  		final Optional<Double> score;
16  
17  		if (value instanceof Versioned) {
18  			Object version = ((Versioned<?>) value).getVersion();
19  			score = Optional.ofNullable(ScoreUtils.extractScore(version));
20  		} else {
21  			score = Optional.empty();
22  		}
23  
24  		return score;
25  	}
26  
27  }