/**
* nfs-rpc
* Apache License
*
* http://code.google.com/p/nfs-rpc (c) 2011
*/
package code.google.nfs.rpc.protocol;
import java.util.concurrent.ConcurrentHashMap;
import com.google.protobuf.Message;
/**
* ProtocolBuf Decoder
*
* @author <a href="mailto:bluedavy@gmail.com">bluedavy</a>
*/
public class PBDecoder implements Decoder {
private static ConcurrentHashMap<String, Message> messages = new ConcurrentHashMap<String, Message>();
public static void addMessage(String className,Message message){
messages.putIfAbsent(className, message);
}
public Object decode(String className,byte[] bytes) throws Exception {
Message message = messages.get(className);
return message.newBuilderForType().mergeFrom(bytes).build();
}
}