// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/model/ComicsDto.java
// public class ComicsDto extends MarvelCollection<ComicDto> {
// 
//   public List<ComicDto> getComics() {
//     return getResults();
//   }
// 
//   @Override public String toString() {
//     return "CharactersDto{"
//         + "offset="
//         + getOffset()
//         + ", limit="
//         + getLimit()
//         + ", total="
//         + getTotal()
//         + ", count="
//         + getCount()
//         + ", characters="
//         + getComics().toString()
//         + '}';
//   }
// }
// 
// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/model/MarvelResponse.java
// public class MarvelResponse<T> {
//   @SerializedName("code") private int code;
//   @SerializedName("status") private String status;
//   @SerializedName("copyright") private String copyright;
//   @SerializedName("attributionText") private String attributionText;
//   @SerializedName("attributionHTML") private String getAttributionHtml;
//   @SerializedName("etag") private String etag;
// 
//   @SerializedName("data") private T response;
// 
//   public MarvelResponse() {
//   }
// 
//   public MarvelResponse(MarvelResponse marvelResponse) {
//     code = marvelResponse.getCode();
//     status = marvelResponse.getStatus();
//     copyright = marvelResponse.getCopyright();
//     attributionText = marvelResponse.getAttributionText();
//     getAttributionHtml = marvelResponse.getGetAttributionHtml();
//     etag = marvelResponse.getEtag();
//   }
// 
//   public int getCode() {
//     return code;
//   }
// 
//   public String getStatus() {
//     return status;
//   }
// 
//   public String getCopyright() {
//     return copyright;
//   }
// 
//   public String getAttributionText() {
//     return attributionText;
//   }
// 
//   public String getGetAttributionHtml() {
//     return getAttributionHtml;
//   }
// 
//   public T getResponse() {
//     return response;
//   }
// 
//   public String getEtag() {
//     return etag;
//   }
// 
//   @Override public String toString() {
//     return "MarvelResponse{"
//            + "code="
//            + code
//            + ", status='"
//            + status
//            + '\''
//            + ", copyright='"
//            + copyright
//            + '\''
//            + ", attributionText='"
//            + attributionText
//            + '\''
//            + ", getAttributionHtml='"
//            + getAttributionHtml
//            + '\''
//            + ", etag='"
//            + etag
//            + '\''
//            + ", response="
//            + response
//            + '}';
//   }
// 
//   public void setResponse(T response) {
//     this.response = response;
//   }
// }
// 
// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/model/SeriesCollectionDto.java
// public class SeriesCollectionDto extends MarvelCollection<SeriesDto> {
// 
//   public List<SeriesDto> getSeries() {
//     return getResults();
//   }
// 
//   @Override public String toString() {
//     return "CharactersDto{"
//         + "offset="
//         + getOffset()
//         + ", limit="
//         + getLimit()
//         + ", total="
//         + getTotal()
//         + ", count="
//         + getCount()
//         + ", characters="
//         + getSeries().toString()
//         + '}';
//   }
// }


import com.karumi.marvelapiclient.model.ComicsDto;
import com.karumi.marvelapiclient.model.MarvelResponse;
import com.karumi.marvelapiclient.model.SeriesCollectionDto;
import java.util.Map;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.QueryMap;
/*
 *   Copyright (C) 2015 Karumi.
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

package com.karumi.marvelapiclient;


interface SeriesApiRest {
  @GET("series") Call<MarvelResponse<SeriesCollectionDto>> getSeries(
      @QueryMap Map<String, Object> seriesFilter);

  @GET("series/{id}") Call<MarvelResponse<SeriesCollectionDto>> getSerie(
      @Path("id") String serieId);

// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/model/ComicsDto.java
// public class ComicsDto extends MarvelCollection<ComicDto> {
// 
//   public List<ComicDto> getComics() {
//     return getResults();
//   }
// 
//   @Override public String toString() {
//     return "CharactersDto{"
//         + "offset="
//         + getOffset()
//         + ", limit="
//         + getLimit()
//         + ", total="
//         + getTotal()
//         + ", count="
//         + getCount()
//         + ", characters="
//         + getComics().toString()
//         + '}';
//   }
// }
// 
// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/model/MarvelResponse.java
// public class MarvelResponse<T> {
//   @SerializedName("code") private int code;
//   @SerializedName("status") private String status;
//   @SerializedName("copyright") private String copyright;
//   @SerializedName("attributionText") private String attributionText;
//   @SerializedName("attributionHTML") private String getAttributionHtml;
//   @SerializedName("etag") private String etag;
// 
//   @SerializedName("data") private T response;
// 
//   public MarvelResponse() {
//   }
// 
//   public MarvelResponse(MarvelResponse marvelResponse) {
//     code = marvelResponse.getCode();
//     status = marvelResponse.getStatus();
//     copyright = marvelResponse.getCopyright();
//     attributionText = marvelResponse.getAttributionText();
//     getAttributionHtml = marvelResponse.getGetAttributionHtml();
//     etag = marvelResponse.getEtag();
//   }
// 
//   public int getCode() {
//     return code;
//   }
// 
//   public String getStatus() {
//     return status;
//   }
// 
//   public String getCopyright() {
//     return copyright;
//   }
// 
//   public String getAttributionText() {
//     return attributionText;
//   }
// 
//   public String getGetAttributionHtml() {
//     return getAttributionHtml;
//   }
// 
//   public T getResponse() {
//     return response;
//   }
// 
//   public String getEtag() {
//     return etag;
//   }
// 
//   @Override public String toString() {
//     return "MarvelResponse{"
//            + "code="
//            + code
//            + ", status='"
//            + status
//            + '\''
//            + ", copyright='"
//            + copyright
//            + '\''
//            + ", attributionText='"
//            + attributionText
//            + '\''
//            + ", getAttributionHtml='"
//            + getAttributionHtml
//            + '\''
//            + ", etag='"
//            + etag
//            + '\''
//            + ", response="
//            + response
//            + '}';
//   }
// 
//   public void setResponse(T response) {
//     this.response = response;
//   }
// }
// 
// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/model/SeriesCollectionDto.java
// public class SeriesCollectionDto extends MarvelCollection<SeriesDto> {
// 
//   public List<SeriesDto> getSeries() {
//     return getResults();
//   }
// 
//   @Override public String toString() {
//     return "CharactersDto{"
//         + "offset="
//         + getOffset()
//         + ", limit="
//         + getLimit()
//         + ", total="
//         + getTotal()
//         + ", count="
//         + getCount()
//         + ", characters="
//         + getSeries().toString()
//         + '}';
//   }
// }


// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/SeriesApiRest.java
import com.karumi.marvelapiclient.model.ComicsDto;
import com.karumi.marvelapiclient.model.MarvelResponse;
import com.karumi.marvelapiclient.model.SeriesCollectionDto;
import java.util.Map;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.QueryMap;

/*
 *   Copyright (C) 2015 Karumi.
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

package com.karumi.marvelapiclient;


interface SeriesApiRest {
  @GET("series") Call<MarvelResponse<SeriesCollectionDto>> getSeries(
      @QueryMap Map<String, Object> seriesFilter);

  @GET("series/{id}") Call<MarvelResponse<SeriesCollectionDto>> getSerie(
      @Path("id") String serieId);

  @GET("series/{id}/comics") Call<MarvelResponse<ComicsDto>> getComicsBySerie(