// Copyright (C) 2011 - Will Glozer. All rights reserved. package com.lambdaworks.redis.output; import com.lambdaworks.redis.ScoredValue; import com.lambdaworks.redis.codec.RedisCodec; import com.lambdaworks.redis.protocol.CommandOutput; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; /** * {@link List} of values and their associated scores. * * @param <V> Value type. * * @author Will Glozer */ public class ScoredValueListOutput<K, V> extends CommandOutput<K, V, List<ScoredValue<V>>> { private V value; public ScoredValueListOutput(RedisCodec<K, V> codec) { super(codec, new ArrayList<ScoredValue<V>>()); } @Override public void set(ByteBuffer bytes) { if (value == null) { value = codec.decodeValue(bytes); return; } double score = Double.parseDouble(decodeAscii(bytes)); output.add(new ScoredValue<V>(score, value)); value = null; } }