package com.robotoworks.example.movies.net; import com.robotoworks.mechanoid.net.Parser; import java.io.IOException; import com.robotoworks.mechanoid.net.Response; import com.robotoworks.mechanoid.net.ServiceException; import java.io.InputStream; import com.robotoworks.mechanoid.net.ServiceClient; import com.robotoworks.mechanoid.net.JsonEntityWriterProvider; import com.robotoworks.mechanoid.net.JsonEntityReaderProvider; public abstract class AbstractMoviesApiClient extends ServiceClient { private static final String LOG_TAG = "MoviesApiClient"; protected static final String DEFAULT_BASE_URL = "http://robotoworks.apiary.io/moviedb"; @Override protected String getLogTag() { return LOG_TAG; } @Override protected JsonEntityWriterProvider createWriterProvider() { return new DefaultMoviesApiClientWriterProvider(); } @Override protected JsonEntityReaderProvider createReaderProvider() { return new DefaultMoviesApiClientReaderProvider(); } public AbstractMoviesApiClient(String baseUrl, boolean debug){ super(baseUrl, debug); } public Response<GetMoviesResult> getMovies() throws ServiceException { return getMovies(new GetMoviesRequest()); } public Response<GetMoviesResult> getMovies(GetMoviesRequest request) throws ServiceException { Parser<GetMoviesResult> parser = new Parser<GetMoviesResult>() { public GetMoviesResult parse(InputStream inStream) throws IOException { return new GetMoviesResult(getReaderProvider(), inStream); } }; return get(request, parser); } }