package de.onyxbits.raccoon.gplay; import com.akdeniz.googleplaycrawler.GooglePlay.BulkDetailsResponse; import com.akdeniz.googleplaycrawler.GooglePlay.DeliveryResponse; import com.akdeniz.googleplaycrawler.GooglePlay.DetailsResponse; import com.akdeniz.googleplaycrawler.GooglePlay.ListResponse; import com.akdeniz.googleplaycrawler.GooglePlay.Payload; import com.akdeniz.googleplaycrawler.GooglePlay.ResponseWrapper; import com.akdeniz.googleplaycrawler.GooglePlay.SearchResponse; import com.akdeniz.googleplaycrawler.GooglePlay.TocResponse; import com.akdeniz.googleplaycrawler.GooglePlay.UploadDeviceConfigResponse; /** * Extract a response from a {@link ResponseWrapper}. Return an empty instance * if the requested message is not available. * * @author patrick * */ public class Unwrap { public static Payload payload(ResponseWrapper rw) { if (rw != null && rw.hasPayload()) { return rw.getPayload(); } return Payload.getDefaultInstance(); } public static SearchResponse searchResponse(ResponseWrapper rw) { Payload pl = payload(rw); if (payload(rw).hasSearchResponse()) { return pl.getSearchResponse(); } return SearchResponse.getDefaultInstance(); } public static ListResponse listResponse(ResponseWrapper rw) { Payload pl = payload(rw); if (pl.hasListResponse()) { return pl.getListResponse(); } return ListResponse.getDefaultInstance(); } public static DeliveryResponse deliveryResponse(ResponseWrapper rw) { Payload pl = payload(rw); if (pl.hasDeliveryResponse()) { return pl.getDeliveryResponse(); } return DeliveryResponse.getDefaultInstance(); } public static BulkDetailsResponse bulkDetailsResponse(ResponseWrapper rw) { Payload pl = payload(rw); if (pl.hasBulkDetailsResponse()) { return pl.getBulkDetailsResponse(); } return BulkDetailsResponse.getDefaultInstance(); } public static DetailsResponse detailsResponse(ResponseWrapper rw) { Payload pl = payload(rw); if (pl.hasDetailsResponse()) { return pl.getDetailsResponse(); } return DetailsResponse.getDefaultInstance(); } public static TocResponse tocResponse(ResponseWrapper rw) { Payload pl = payload(rw); if (pl.hasTocResponse()) { return pl.getTocResponse(); } return TocResponse.getDefaultInstance(); } public static UploadDeviceConfigResponse uploadDeviceConfigResponse( ResponseWrapper rw) { Payload pl = payload(rw); if (pl.hasUploadDeviceConfigResponse()) { return pl.getUploadDeviceConfigResponse(); } return UploadDeviceConfigResponse.getDefaultInstance(); } }