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 }