package com.robotoworks.example.ghissues.net; import com.robotoworks.mechanoid.net.JsonEntityReaderProvider; import com.robotoworks.mechanoid.net.JsonEntityReader; import java.util.HashMap; public class DefaultGithubClientReaderProvider implements JsonEntityReaderProvider { private HashMap<Class<?>, JsonEntityReader<?>> mMap = new HashMap<Class<?>, JsonEntityReader<?>>(); public DefaultGithubClientReaderProvider(){ registerReaders(mMap); } @SuppressWarnings("unchecked") @Override public <T, R extends JsonEntityReader<T>> R get(Class<T> entityType) { return (R) mMap.get(entityType); } protected void registerReaders(HashMap<Class<?>, JsonEntityReader<?>> map) { map.put(Issue.class, new IssueReader(this)); map.put(User.class, new UserReader(this)); map.put(Label.class, new LabelReader(this)); } }