/* * Copyright 2013 Jesse Morgan */ package com.p4square.grow.provider; import java.io.IOException; import com.p4square.grow.model.Question; /** * QuestionProvider wraps an existing Provider to get and put Questions. * * @author Jesse Morgan */ public abstract class QuestionProvider implements Provider { private Provider mProvider; public QuestionProvider(Provider provider) { mProvider = provider; } @Override public Question get(String key) throws IOException { return mProvider.get(makeKey(key)); } @Override public void put(String key, Question obj) throws IOException { mProvider.put(makeKey(key), obj); } /** * Make a Key for questionId. * * @param questionId The question id. * @return a key for questionId. */ protected abstract K makeKey(String questionId); }