// Path: spring-wpapi-core/src/main/java/org/kamranzafar/spring/wpapi/Comment.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class Comment implements Serializable {
//     private int id;
//     private int author;
//     @JsonProperty("author_email")
//     private String authorEmail;
//     @JsonProperty("author_name")
//     private String authorName;
//     @JsonProperty("author_ip")
//     private String authorIp;
//     @JsonProperty("author_url")
//     private String authorUrl;
//     @JsonProperty("author_user_agent")
//     private String authorUserAgent;
//     private Content content;
//     private Date date;
//     private int karma;
//     private String link;
//     private int parent;
//     private int post;
//     private String status;
//     private String type;
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public int getAuthor() {
//         return author;
//     }
// 
//     public void setAuthor(int author) {
//         this.author = author;
//     }
// 
//     public String getAuthorName() {
//         return authorName;
//     }
// 
//     public void setAuthorName(String authorName) {
//         this.authorName = authorName;
//     }
// 
//     public String getAuthorEmail() {
//         return authorEmail;
//     }
// 
//     public void setAuthorEmail(String authorEmail) {
//         this.authorEmail = authorEmail;
//     }
// 
//     public String getAuthorIp() {
//         return authorIp;
//     }
// 
//     public void setAuthorIp(String authorIp) {
//         this.authorIp = authorIp;
//     }
// 
//     public String getAuthorUrl() {
//         return authorUrl;
//     }
// 
//     public void setAuthorUrl(String authorUrl) {
//         this.authorUrl = authorUrl;
//     }
// 
//     public String getAuthorUserAgent() {
//         return authorUserAgent;
//     }
// 
//     public void setAuthorUserAgent(String authorUserAgent) {
//         this.authorUserAgent = authorUserAgent;
//     }
// 
//     public Content getContent() {
//         return content;
//     }
// 
//     public void setContent(Content content) {
//         this.content = content;
//     }
// 
//     public Date getDate() {
//         return date;
//     }
// 
//     public void setDate(Date date) {
//         this.date = date;
//     }
// 
//     public int getKarma() {
//         return karma;
//     }
// 
//     public void setKarma(int karma) {
//         this.karma = karma;
//     }
// 
//     public String getLink() {
//         return link;
//     }
// 
//     public void setLink(String link) {
//         this.link = link;
//     }
// 
//     public int getParent() {
//         return parent;
//     }
// 
//     public void setParent(int parent) {
//         this.parent = parent;
//     }
// 
//     public int getPost() {
//         return post;
//     }
// 
//     public void setPost(int post) {
//         this.post = post;
//     }
// 
//     public String getStatus() {
//         return status;
//     }
// 
//     public void setStatus(String status) {
//         this.status = status;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// }
// 
// Path: spring-wpapi-client/src/main/java/org/kamranzafar/spring/wpapi/client/BaseService.java
// public abstract class BaseService<T> implements WpApiService<T> {
//     @Autowired
//     protected WpApiConfig wpApiConfig;
// 
//     @Autowired
//     protected RestTemplate restTemplate;
// 
//     @Override
//     public T get(int id) {
//         return restTemplate.getForObject(buildUri() + "/" + id, getType());
//     }
// 
//     @Override
//     public T get(int id, Map<String, String> params) {
//         return restTemplate.getForObject(buildUri(buildUri() + "/" + id, params), getType());
//     }
// 
//     @Override
//     public void create(T obj) {
//         restTemplate.postForLocation(buildUri(), obj);
//     }
// 
//     @Override
//     public void update(T obj) {
//         restTemplate.postForLocation(buildUri(), obj);
//     }
// 
//     @Override
//     public void delete(int id) {
//         restTemplate.delete(buildUri() + "/" + id);
//     }
// 
//     protected String buildUri() {
//         return (wpApiConfig.isHttps() ? "https://" : "http://") + wpApiConfig.getHost() + ":" + wpApiConfig.getPort() + "/" + wpApiConfig.getApiBase() + "/" + getUrlPostfix();
//     }
// 
//     protected URI buildUri(String uri, Map<String, String> params) {
//         UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUriString(uri);
// 
//         params.forEach((k, v) -> uriComponentsBuilder.queryParam(k, v));
// 
//         return uriComponentsBuilder.build().toUri();
//     }
// 
//     protected URI buildUri(Map<String, String> params) {
//         return buildUri(buildUri(), params);
//     }
// 
//     protected abstract String getUrlPostfix();
// }


import org.kamranzafar.spring.wpapi.Comment;
import org.kamranzafar.spring.wpapi.client.BaseService;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
 * Copyright 2016 Kamran Zafar
 *
 * 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 org.kamranzafar.spring.wpapi.client.impl;



/**
 * Created by kamran on 07/08/16.
 */
@Service
public class CommentService extends BaseService<Comment> {
// Path: spring-wpapi-core/src/main/java/org/kamranzafar/spring/wpapi/Comment.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class Comment implements Serializable {
//     private int id;
//     private int author;
//     @JsonProperty("author_email")
//     private String authorEmail;
//     @JsonProperty("author_name")
//     private String authorName;
//     @JsonProperty("author_ip")
//     private String authorIp;
//     @JsonProperty("author_url")
//     private String authorUrl;
//     @JsonProperty("author_user_agent")
//     private String authorUserAgent;
//     private Content content;
//     private Date date;
//     private int karma;
//     private String link;
//     private int parent;
//     private int post;
//     private String status;
//     private String type;
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public int getAuthor() {
//         return author;
//     }
// 
//     public void setAuthor(int author) {
//         this.author = author;
//     }
// 
//     public String getAuthorName() {
//         return authorName;
//     }
// 
//     public void setAuthorName(String authorName) {
//         this.authorName = authorName;
//     }
// 
//     public String getAuthorEmail() {
//         return authorEmail;
//     }
// 
//     public void setAuthorEmail(String authorEmail) {
//         this.authorEmail = authorEmail;
//     }
// 
//     public String getAuthorIp() {
//         return authorIp;
//     }
// 
//     public void setAuthorIp(String authorIp) {
//         this.authorIp = authorIp;
//     }
// 
//     public String getAuthorUrl() {
//         return authorUrl;
//     }
// 
//     public void setAuthorUrl(String authorUrl) {
//         this.authorUrl = authorUrl;
//     }
// 
//     public String getAuthorUserAgent() {
//         return authorUserAgent;
//     }
// 
//     public void setAuthorUserAgent(String authorUserAgent) {
//         this.authorUserAgent = authorUserAgent;
//     }
// 
//     public Content getContent() {
//         return content;
//     }
// 
//     public void setContent(Content content) {
//         this.content = content;
//     }
// 
//     public Date getDate() {
//         return date;
//     }
// 
//     public void setDate(Date date) {
//         this.date = date;
//     }
// 
//     public int getKarma() {
//         return karma;
//     }
// 
//     public void setKarma(int karma) {
//         this.karma = karma;
//     }
// 
//     public String getLink() {
//         return link;
//     }
// 
//     public void setLink(String link) {
//         this.link = link;
//     }
// 
//     public int getParent() {
//         return parent;
//     }
// 
//     public void setParent(int parent) {
//         this.parent = parent;
//     }
// 
//     public int getPost() {
//         return post;
//     }
// 
//     public void setPost(int post) {
//         this.post = post;
//     }
// 
//     public String getStatus() {
//         return status;
//     }
// 
//     public void setStatus(String status) {
//         this.status = status;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// }
// 
// Path: spring-wpapi-client/src/main/java/org/kamranzafar/spring/wpapi/client/BaseService.java
// public abstract class BaseService<T> implements WpApiService<T> {
//     @Autowired
//     protected WpApiConfig wpApiConfig;
// 
//     @Autowired
//     protected RestTemplate restTemplate;
// 
//     @Override
//     public T get(int id) {
//         return restTemplate.getForObject(buildUri() + "/" + id, getType());
//     }
// 
//     @Override
//     public T get(int id, Map<String, String> params) {
//         return restTemplate.getForObject(buildUri(buildUri() + "/" + id, params), getType());
//     }
// 
//     @Override
//     public void create(T obj) {
//         restTemplate.postForLocation(buildUri(), obj);
//     }
// 
//     @Override
//     public void update(T obj) {
//         restTemplate.postForLocation(buildUri(), obj);
//     }
// 
//     @Override
//     public void delete(int id) {
//         restTemplate.delete(buildUri() + "/" + id);
//     }
// 
//     protected String buildUri() {
//         return (wpApiConfig.isHttps() ? "https://" : "http://") + wpApiConfig.getHost() + ":" + wpApiConfig.getPort() + "/" + wpApiConfig.getApiBase() + "/" + getUrlPostfix();
//     }
// 
//     protected URI buildUri(String uri, Map<String, String> params) {
//         UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUriString(uri);
// 
//         params.forEach((k, v) -> uriComponentsBuilder.queryParam(k, v));
// 
//         return uriComponentsBuilder.build().toUri();
//     }
// 
//     protected URI buildUri(Map<String, String> params) {
//         return buildUri(buildUri(), params);
//     }
// 
//     protected abstract String getUrlPostfix();
// }


// Path: spring-wpapi-client/src/main/java/org/kamranzafar/spring/wpapi/client/impl/CommentService.java
import org.kamranzafar.spring.wpapi.Comment;
import org.kamranzafar.spring.wpapi.client.BaseService;
import org.springframework.stereotype.Service;
import java.util.Map;

/**
 * Copyright 2016 Kamran Zafar
 *
 * 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 org.kamranzafar.spring.wpapi.client.impl;



/**
 * Created by kamran on 07/08/16.
 */
@Service
public class CommentService extends BaseService<Comment> {
    @Override