View Javadoc
1   package org.oxerr.spring.cache.redis.scored.score.resolver;
2   
3   import java.util.Optional;
4   
5   import org.oxerr.spring.cache.redis.scored.score.resolver.annotated.ChainedAnnotatedScoreResolver;
6   import org.oxerr.spring.cache.redis.scored.score.resolver.chained.ChainedScoreResolver;
7   import org.oxerr.spring.cache.redis.scored.score.resolver.inherited.InheritedScoreResolver;
8   import org.springframework.lang.Nullable;
9   
10  public class DefaultScoreResolver implements ScoreResolver {
11  
12  	private static final long serialVersionUID = 2021082001L;
13  
14  	private final ScoreResolver resolver;
15  
16  	public DefaultScoreResolver() {
17  		final ChainedAnnotatedScoreResolver chainedAnnotatedScoreResolver = new ChainedAnnotatedScoreResolver(
18  			"org.oxerr.spring.cache.redis.scored.score.resolver.annotated.annotation.Score",
19  			"javax.persistence.Version",
20  			"org.springframework.data.annotation.Version"
21  		);
22  		this.resolver = new ChainedScoreResolver(
23  			new InheritedScoreResolver(),
24  			chainedAnnotatedScoreResolver
25  		);
26  	}
27  
28  	@Override
29  	public Optional<Double> resolveScore(@Nullable Object value) {
30  		return this.resolver.resolveScore(value);
31  	}
32  
33  }