/*
 * Oceanengine Open Api
 * 巨量引擎开放平台 Open Api
 *
 * The version of the OpenAPI document: 1.1.19
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.bytedance.ads.model;

import java.util.Objects;
import java.util.Arrays;
import com.bytedance.ads.model.QianchuanReportSearchWordGetV10DataListKeywordMatchType;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import org.openapitools.jackson.nullable.JsonNullable;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;
import com.google.gson.TypeAdapter;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;

import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.bytedance.ads.JSON;

/**
 * QianchuanReportSearchWordGetV10ResponseDataListInner
 */
@javax.annotation.Generated(value = "com.org.bytedance.ad_open_sdk.JavacusGenerator", date = "2024-09-10T15:29:00.246104612+08:00[Asia/Shanghai]")
public class QianchuanReportSearchWordGetV10ResponseDataListInner {
  public static final String SERIALIZED_NAME_AD_ID = "ad_id";
  @SerializedName(SERIALIZED_NAME_AD_ID)
  private Long adId = null;

  public static final String SERIALIZED_NAME_AD_NAME = "ad_name";
  @SerializedName(SERIALIZED_NAME_AD_NAME)
  private String adName = null;

  public static final String SERIALIZED_NAME_CAMPAIGN_ID = "campaign_id";
  @SerializedName(SERIALIZED_NAME_CAMPAIGN_ID)
  private Long campaignId = null;

  public static final String SERIALIZED_NAME_CAMPAIGN_NAME = "campaign_name";
  @SerializedName(SERIALIZED_NAME_CAMPAIGN_NAME)
  private String campaignName = null;

  public static final String SERIALIZED_NAME_CLICK_CNT = "click_cnt";
  @SerializedName(SERIALIZED_NAME_CLICK_CNT)
  private Double clickCnt = null;

  public static final String SERIALIZED_NAME_CPM_PLATFORM = "cpm_platform";
  @SerializedName(SERIALIZED_NAME_CPM_PLATFORM)
  private Double cpmPlatform = null;

  public static final String SERIALIZED_NAME_CREATE_ORDER_AMOUNT = "create_order_amount";
  @SerializedName(SERIALIZED_NAME_CREATE_ORDER_AMOUNT)
  private Double createOrderAmount = null;

  public static final String SERIALIZED_NAME_CREATE_ORDER_COUNT = "create_order_count";
  @SerializedName(SERIALIZED_NAME_CREATE_ORDER_COUNT)
  private Double createOrderCount = null;

  public static final String SERIALIZED_NAME_CREATE_ORDER_ROI = "create_order_roi";
  @SerializedName(SERIALIZED_NAME_CREATE_ORDER_ROI)
  private Double createOrderRoi = null;

  public static final String SERIALIZED_NAME_CTR = "ctr";
  @SerializedName(SERIALIZED_NAME_CTR)
  private Double ctr = null;

  public static final String SERIALIZED_NAME_DY_COMMENT = "dy_comment";
  @SerializedName(SERIALIZED_NAME_DY_COMMENT)
  private Double dyComment = null;

  public static final String SERIALIZED_NAME_DY_FOLLOW = "dy_follow";
  @SerializedName(SERIALIZED_NAME_DY_FOLLOW)
  private Double dyFollow = null;

  public static final String SERIALIZED_NAME_DY_LIKE = "dy_like";
  @SerializedName(SERIALIZED_NAME_DY_LIKE)
  private Double dyLike = null;

  public static final String SERIALIZED_NAME_DY_SHARE = "dy_share";
  @SerializedName(SERIALIZED_NAME_DY_SHARE)
  private Double dyShare = null;

  public static final String SERIALIZED_NAME_ECP_CONVERT_CNT = "ecp_convert_cnt";
  @SerializedName(SERIALIZED_NAME_ECP_CONVERT_CNT)
  private Double ecpConvertCnt = null;

  public static final String SERIALIZED_NAME_ECP_CONVERT_RATE = "ecp_convert_rate";
  @SerializedName(SERIALIZED_NAME_ECP_CONVERT_RATE)
  private Double ecpConvertRate = null;

  public static final String SERIALIZED_NAME_ECP_CPA_PLATFORM = "ecp_cpa_platform";
  @SerializedName(SERIALIZED_NAME_ECP_CPA_PLATFORM)
  private Double ecpCpaPlatform = null;

  public static final String SERIALIZED_NAME_END_DATE = "end_date";
  @SerializedName(SERIALIZED_NAME_END_DATE)
  private String endDate = null;

  public static final String SERIALIZED_NAME_KEY_WORD = "key_word";
  @SerializedName(SERIALIZED_NAME_KEY_WORD)
  private String keyWord = null;

  public static final String SERIALIZED_NAME_KEYWORD_MATCH_TYPE = "keyword_match_type";
  @SerializedName(SERIALIZED_NAME_KEYWORD_MATCH_TYPE)
  private QianchuanReportSearchWordGetV10DataListKeywordMatchType keywordMatchType = null;

  public static final String SERIALIZED_NAME_LIVE_FANS_CLUB_JOIN_CNT = "live_fans_club_join_cnt";
  @SerializedName(SERIALIZED_NAME_LIVE_FANS_CLUB_JOIN_CNT)
  private Double liveFansClubJoinCnt = null;

  public static final String SERIALIZED_NAME_LIVE_WATCH_ONE_MINUTE_COUNT = "live_watch_one_minute_count";
  @SerializedName(SERIALIZED_NAME_LIVE_WATCH_ONE_MINUTE_COUNT)
  private Double liveWatchOneMinuteCount = null;

  public static final String SERIALIZED_NAME_LUBAN_LIVE_CLICK_PRODUCT_CNT = "luban_live_click_product_cnt";
  @SerializedName(SERIALIZED_NAME_LUBAN_LIVE_CLICK_PRODUCT_CNT)
  private Double lubanLiveClickProductCnt = null;

  public static final String SERIALIZED_NAME_LUBAN_LIVE_COMMENT_CNT = "luban_live_comment_cnt";
  @SerializedName(SERIALIZED_NAME_LUBAN_LIVE_COMMENT_CNT)
  private Double lubanLiveCommentCnt = null;

  public static final String SERIALIZED_NAME_LUBAN_LIVE_ENTER_CNT = "luban_live_enter_cnt";
  @SerializedName(SERIALIZED_NAME_LUBAN_LIVE_ENTER_CNT)
  private Double lubanLiveEnterCnt = null;

  public static final String SERIALIZED_NAME_LUBAN_LIVE_GIFT_AMOUNT = "luban_live_gift_amount";
  @SerializedName(SERIALIZED_NAME_LUBAN_LIVE_GIFT_AMOUNT)
  private Double lubanLiveGiftAmount = null;

  public static final String SERIALIZED_NAME_LUBAN_LIVE_GIFT_CNT = "luban_live_gift_cnt";
  @SerializedName(SERIALIZED_NAME_LUBAN_LIVE_GIFT_CNT)
  private Double lubanLiveGiftCnt = null;

  public static final String SERIALIZED_NAME_LUBAN_LIVE_SHARE_CNT = "luban_live_share_cnt";
  @SerializedName(SERIALIZED_NAME_LUBAN_LIVE_SHARE_CNT)
  private Double lubanLiveShareCnt = null;

  public static final String SERIALIZED_NAME_LUBAN_LIVE_SLIDECART_CLICK_CNT = "luban_live_slidecart_click_cnt";
  @SerializedName(SERIALIZED_NAME_LUBAN_LIVE_SLIDECART_CLICK_CNT)
  private Double lubanLiveSlidecartClickCnt = null;

  public static final String SERIALIZED_NAME_PAY_ORDER_AMOUNT = "pay_order_amount";
  @SerializedName(SERIALIZED_NAME_PAY_ORDER_AMOUNT)
  private Double payOrderAmount = null;

  public static final String SERIALIZED_NAME_PAY_ORDER_COST_PER_ORDER = "pay_order_cost_per_order";
  @SerializedName(SERIALIZED_NAME_PAY_ORDER_COST_PER_ORDER)
  private Double payOrderCostPerOrder = null;

  public static final String SERIALIZED_NAME_PAY_ORDER_COUNT = "pay_order_count";
  @SerializedName(SERIALIZED_NAME_PAY_ORDER_COUNT)
  private Double payOrderCount = null;

  public static final String SERIALIZED_NAME_PLAY25_FEED_BREAK = "play_25_feed_break";
  @SerializedName(SERIALIZED_NAME_PLAY25_FEED_BREAK)
  private Double play25FeedBreak = null;

  public static final String SERIALIZED_NAME_PLAY50_FEED_BREAK = "play_50_feed_break";
  @SerializedName(SERIALIZED_NAME_PLAY50_FEED_BREAK)
  private Double play50FeedBreak = null;

  public static final String SERIALIZED_NAME_PLAY75_FEED_BREAK = "play_75_feed_break";
  @SerializedName(SERIALIZED_NAME_PLAY75_FEED_BREAK)
  private Double play75FeedBreak = null;

  public static final String SERIALIZED_NAME_PLAY_DURATION3S = "play_duration_3s";
  @SerializedName(SERIALIZED_NAME_PLAY_DURATION3S)
  private Double playDuration3s = null;

  public static final String SERIALIZED_NAME_PLAY_OVER = "play_over";
  @SerializedName(SERIALIZED_NAME_PLAY_OVER)
  private Double playOver = null;

  public static final String SERIALIZED_NAME_PLAY_OVER_RATE = "play_over_rate";
  @SerializedName(SERIALIZED_NAME_PLAY_OVER_RATE)
  private Double playOverRate = null;

  public static final String SERIALIZED_NAME_PREPAY_AND_PAY_ORDER_ROI = "prepay_and_pay_order_roi";
  @SerializedName(SERIALIZED_NAME_PREPAY_AND_PAY_ORDER_ROI)
  private Double prepayAndPayOrderRoi = null;

  public static final String SERIALIZED_NAME_PREPAY_ORDER_AMOUNT = "prepay_order_amount";
  @SerializedName(SERIALIZED_NAME_PREPAY_ORDER_AMOUNT)
  private Double prepayOrderAmount = null;

  public static final String SERIALIZED_NAME_PREPAY_ORDER_COUNT = "prepay_order_count";
  @SerializedName(SERIALIZED_NAME_PREPAY_ORDER_COUNT)
  private Double prepayOrderCount = null;

  public static final String SERIALIZED_NAME_SEARCH_WORD = "search_word";
  @SerializedName(SERIALIZED_NAME_SEARCH_WORD)
  private String searchWord = null;

  public static final String SERIALIZED_NAME_SHOW_CNT = "show_cnt";
  @SerializedName(SERIALIZED_NAME_SHOW_CNT)
  private Double showCnt = null;

  public static final String SERIALIZED_NAME_START_DATE = "start_date";
  @SerializedName(SERIALIZED_NAME_START_DATE)
  private String startDate = null;

  public static final String SERIALIZED_NAME_STAT_COST = "stat_cost";
  @SerializedName(SERIALIZED_NAME_STAT_COST)
  private Double statCost = null;

  public static final String SERIALIZED_NAME_TOTAL_PLAY = "total_play";
  @SerializedName(SERIALIZED_NAME_TOTAL_PLAY)
  private Double totalPlay = null;

  public QianchuanReportSearchWordGetV10ResponseDataListInner() {
  }

  public QianchuanReportSearchWordGetV10ResponseDataListInner adId(Long adId) {
    
    this.adId = adId;
    return this;
  }

   /**
   * 
   * @return adId
  **/
  @javax.annotation.Nullable
  public Long getAdId() {
    return adId;
  }


  public void setAdId(Long adId) {
    this.adId = adId;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner adName(String adName) {
    
    this.adName = adName;
    return this;
  }

   /**
   * 
   * @return adName
  **/
  @javax.annotation.Nullable
  public String getAdName() {
    return adName;
  }


  public void setAdName(String adName) {
    this.adName = adName;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner campaignId(Long campaignId) {
    
    this.campaignId = campaignId;
    return this;
  }

   /**
   * 
   * @return campaignId
  **/
  @javax.annotation.Nullable
  public Long getCampaignId() {
    return campaignId;
  }


  public void setCampaignId(Long campaignId) {
    this.campaignId = campaignId;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner campaignName(String campaignName) {
    
    this.campaignName = campaignName;
    return this;
  }

   /**
   * 
   * @return campaignName
  **/
  @javax.annotation.Nullable
  public String getCampaignName() {
    return campaignName;
  }


  public void setCampaignName(String campaignName) {
    this.campaignName = campaignName;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner clickCnt(Double clickCnt) {
    
    this.clickCnt = clickCnt;
    return this;
  }

   /**
   * 
   * @return clickCnt
  **/
  @javax.annotation.Nullable
  public Double getClickCnt() {
    return clickCnt;
  }


  public void setClickCnt(Double clickCnt) {
    this.clickCnt = clickCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner cpmPlatform(Double cpmPlatform) {
    
    this.cpmPlatform = cpmPlatform;
    return this;
  }

   /**
   * todo
   * @return cpmPlatform
  **/
  @javax.annotation.Nullable
  public Double getCpmPlatform() {
    return cpmPlatform;
  }


  public void setCpmPlatform(Double cpmPlatform) {
    this.cpmPlatform = cpmPlatform;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner createOrderAmount(Double createOrderAmount) {
    
    this.createOrderAmount = createOrderAmount;
    return this;
  }

   /**
   * 
   * @return createOrderAmount
  **/
  @javax.annotation.Nullable
  public Double getCreateOrderAmount() {
    return createOrderAmount;
  }


  public void setCreateOrderAmount(Double createOrderAmount) {
    this.createOrderAmount = createOrderAmount;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner createOrderCount(Double createOrderCount) {
    
    this.createOrderCount = createOrderCount;
    return this;
  }

   /**
   * 
   * @return createOrderCount
  **/
  @javax.annotation.Nullable
  public Double getCreateOrderCount() {
    return createOrderCount;
  }


  public void setCreateOrderCount(Double createOrderCount) {
    this.createOrderCount = createOrderCount;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner createOrderRoi(Double createOrderRoi) {
    
    this.createOrderRoi = createOrderRoi;
    return this;
  }

   /**
   * 
   * @return createOrderRoi
  **/
  @javax.annotation.Nullable
  public Double getCreateOrderRoi() {
    return createOrderRoi;
  }


  public void setCreateOrderRoi(Double createOrderRoi) {
    this.createOrderRoi = createOrderRoi;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner ctr(Double ctr) {
    
    this.ctr = ctr;
    return this;
  }

   /**
   * 
   * @return ctr
  **/
  @javax.annotation.Nullable
  public Double getCtr() {
    return ctr;
  }


  public void setCtr(Double ctr) {
    this.ctr = ctr;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner dyComment(Double dyComment) {
    
    this.dyComment = dyComment;
    return this;
  }

   /**
   * 
   * @return dyComment
  **/
  @javax.annotation.Nullable
  public Double getDyComment() {
    return dyComment;
  }


  public void setDyComment(Double dyComment) {
    this.dyComment = dyComment;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner dyFollow(Double dyFollow) {
    
    this.dyFollow = dyFollow;
    return this;
  }

   /**
   * 
   * @return dyFollow
  **/
  @javax.annotation.Nullable
  public Double getDyFollow() {
    return dyFollow;
  }


  public void setDyFollow(Double dyFollow) {
    this.dyFollow = dyFollow;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner dyLike(Double dyLike) {
    
    this.dyLike = dyLike;
    return this;
  }

   /**
   * 
   * @return dyLike
  **/
  @javax.annotation.Nullable
  public Double getDyLike() {
    return dyLike;
  }


  public void setDyLike(Double dyLike) {
    this.dyLike = dyLike;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner dyShare(Double dyShare) {
    
    this.dyShare = dyShare;
    return this;
  }

   /**
   * 
   * @return dyShare
  **/
  @javax.annotation.Nullable
  public Double getDyShare() {
    return dyShare;
  }


  public void setDyShare(Double dyShare) {
    this.dyShare = dyShare;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner ecpConvertCnt(Double ecpConvertCnt) {
    
    this.ecpConvertCnt = ecpConvertCnt;
    return this;
  }

   /**
   * 
   * @return ecpConvertCnt
  **/
  @javax.annotation.Nullable
  public Double getEcpConvertCnt() {
    return ecpConvertCnt;
  }


  public void setEcpConvertCnt(Double ecpConvertCnt) {
    this.ecpConvertCnt = ecpConvertCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner ecpConvertRate(Double ecpConvertRate) {
    
    this.ecpConvertRate = ecpConvertRate;
    return this;
  }

   /**
   * 
   * @return ecpConvertRate
  **/
  @javax.annotation.Nullable
  public Double getEcpConvertRate() {
    return ecpConvertRate;
  }


  public void setEcpConvertRate(Double ecpConvertRate) {
    this.ecpConvertRate = ecpConvertRate;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner ecpCpaPlatform(Double ecpCpaPlatform) {
    
    this.ecpCpaPlatform = ecpCpaPlatform;
    return this;
  }

   /**
   * todo
   * @return ecpCpaPlatform
  **/
  @javax.annotation.Nullable
  public Double getEcpCpaPlatform() {
    return ecpCpaPlatform;
  }


  public void setEcpCpaPlatform(Double ecpCpaPlatform) {
    this.ecpCpaPlatform = ecpCpaPlatform;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner endDate(String endDate) {
    
    this.endDate = endDate;
    return this;
  }

   /**
   * 
   * @return endDate
  **/
  @javax.annotation.Nullable
  public String getEndDate() {
    return endDate;
  }


  public void setEndDate(String endDate) {
    this.endDate = endDate;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner keyWord(String keyWord) {
    
    this.keyWord = keyWord;
    return this;
  }

   /**
   * 
   * @return keyWord
  **/
  @javax.annotation.Nullable
  public String getKeyWord() {
    return keyWord;
  }


  public void setKeyWord(String keyWord) {
    this.keyWord = keyWord;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner keywordMatchType(QianchuanReportSearchWordGetV10DataListKeywordMatchType keywordMatchType) {
    
    this.keywordMatchType = keywordMatchType;
    return this;
  }

   /**
   * Get keywordMatchType
   * @return keywordMatchType
  **/
  @javax.annotation.Nullable
  public QianchuanReportSearchWordGetV10DataListKeywordMatchType getKeywordMatchType() {
    return keywordMatchType;
  }


  public void setKeywordMatchType(QianchuanReportSearchWordGetV10DataListKeywordMatchType keywordMatchType) {
    this.keywordMatchType = keywordMatchType;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner liveFansClubJoinCnt(Double liveFansClubJoinCnt) {
    
    this.liveFansClubJoinCnt = liveFansClubJoinCnt;
    return this;
  }

   /**
   * 
   * @return liveFansClubJoinCnt
  **/
  @javax.annotation.Nullable
  public Double getLiveFansClubJoinCnt() {
    return liveFansClubJoinCnt;
  }


  public void setLiveFansClubJoinCnt(Double liveFansClubJoinCnt) {
    this.liveFansClubJoinCnt = liveFansClubJoinCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner liveWatchOneMinuteCount(Double liveWatchOneMinuteCount) {
    
    this.liveWatchOneMinuteCount = liveWatchOneMinuteCount;
    return this;
  }

   /**
   * 
   * @return liveWatchOneMinuteCount
  **/
  @javax.annotation.Nullable
  public Double getLiveWatchOneMinuteCount() {
    return liveWatchOneMinuteCount;
  }


  public void setLiveWatchOneMinuteCount(Double liveWatchOneMinuteCount) {
    this.liveWatchOneMinuteCount = liveWatchOneMinuteCount;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner lubanLiveClickProductCnt(Double lubanLiveClickProductCnt) {
    
    this.lubanLiveClickProductCnt = lubanLiveClickProductCnt;
    return this;
  }

   /**
   * 
   * @return lubanLiveClickProductCnt
  **/
  @javax.annotation.Nullable
  public Double getLubanLiveClickProductCnt() {
    return lubanLiveClickProductCnt;
  }


  public void setLubanLiveClickProductCnt(Double lubanLiveClickProductCnt) {
    this.lubanLiveClickProductCnt = lubanLiveClickProductCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner lubanLiveCommentCnt(Double lubanLiveCommentCnt) {
    
    this.lubanLiveCommentCnt = lubanLiveCommentCnt;
    return this;
  }

   /**
   * 
   * @return lubanLiveCommentCnt
  **/
  @javax.annotation.Nullable
  public Double getLubanLiveCommentCnt() {
    return lubanLiveCommentCnt;
  }


  public void setLubanLiveCommentCnt(Double lubanLiveCommentCnt) {
    this.lubanLiveCommentCnt = lubanLiveCommentCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner lubanLiveEnterCnt(Double lubanLiveEnterCnt) {
    
    this.lubanLiveEnterCnt = lubanLiveEnterCnt;
    return this;
  }

   /**
   * 
   * @return lubanLiveEnterCnt
  **/
  @javax.annotation.Nullable
  public Double getLubanLiveEnterCnt() {
    return lubanLiveEnterCnt;
  }


  public void setLubanLiveEnterCnt(Double lubanLiveEnterCnt) {
    this.lubanLiveEnterCnt = lubanLiveEnterCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner lubanLiveGiftAmount(Double lubanLiveGiftAmount) {
    
    this.lubanLiveGiftAmount = lubanLiveGiftAmount;
    return this;
  }

   /**
   * 
   * @return lubanLiveGiftAmount
  **/
  @javax.annotation.Nullable
  public Double getLubanLiveGiftAmount() {
    return lubanLiveGiftAmount;
  }


  public void setLubanLiveGiftAmount(Double lubanLiveGiftAmount) {
    this.lubanLiveGiftAmount = lubanLiveGiftAmount;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner lubanLiveGiftCnt(Double lubanLiveGiftCnt) {
    
    this.lubanLiveGiftCnt = lubanLiveGiftCnt;
    return this;
  }

   /**
   * 
   * @return lubanLiveGiftCnt
  **/
  @javax.annotation.Nullable
  public Double getLubanLiveGiftCnt() {
    return lubanLiveGiftCnt;
  }


  public void setLubanLiveGiftCnt(Double lubanLiveGiftCnt) {
    this.lubanLiveGiftCnt = lubanLiveGiftCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner lubanLiveShareCnt(Double lubanLiveShareCnt) {
    
    this.lubanLiveShareCnt = lubanLiveShareCnt;
    return this;
  }

   /**
   * 
   * @return lubanLiveShareCnt
  **/
  @javax.annotation.Nullable
  public Double getLubanLiveShareCnt() {
    return lubanLiveShareCnt;
  }


  public void setLubanLiveShareCnt(Double lubanLiveShareCnt) {
    this.lubanLiveShareCnt = lubanLiveShareCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner lubanLiveSlidecartClickCnt(Double lubanLiveSlidecartClickCnt) {
    
    this.lubanLiveSlidecartClickCnt = lubanLiveSlidecartClickCnt;
    return this;
  }

   /**
   * 
   * @return lubanLiveSlidecartClickCnt
  **/
  @javax.annotation.Nullable
  public Double getLubanLiveSlidecartClickCnt() {
    return lubanLiveSlidecartClickCnt;
  }


  public void setLubanLiveSlidecartClickCnt(Double lubanLiveSlidecartClickCnt) {
    this.lubanLiveSlidecartClickCnt = lubanLiveSlidecartClickCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner payOrderAmount(Double payOrderAmount) {
    
    this.payOrderAmount = payOrderAmount;
    return this;
  }

   /**
   * 
   * @return payOrderAmount
  **/
  @javax.annotation.Nullable
  public Double getPayOrderAmount() {
    return payOrderAmount;
  }


  public void setPayOrderAmount(Double payOrderAmount) {
    this.payOrderAmount = payOrderAmount;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner payOrderCostPerOrder(Double payOrderCostPerOrder) {
    
    this.payOrderCostPerOrder = payOrderCostPerOrder;
    return this;
  }

   /**
   * 
   * @return payOrderCostPerOrder
  **/
  @javax.annotation.Nullable
  public Double getPayOrderCostPerOrder() {
    return payOrderCostPerOrder;
  }


  public void setPayOrderCostPerOrder(Double payOrderCostPerOrder) {
    this.payOrderCostPerOrder = payOrderCostPerOrder;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner payOrderCount(Double payOrderCount) {
    
    this.payOrderCount = payOrderCount;
    return this;
  }

   /**
   * 
   * @return payOrderCount
  **/
  @javax.annotation.Nullable
  public Double getPayOrderCount() {
    return payOrderCount;
  }


  public void setPayOrderCount(Double payOrderCount) {
    this.payOrderCount = payOrderCount;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner play25FeedBreak(Double play25FeedBreak) {
    
    this.play25FeedBreak = play25FeedBreak;
    return this;
  }

   /**
   * 
   * @return play25FeedBreak
  **/
  @javax.annotation.Nullable
  public Double getPlay25FeedBreak() {
    return play25FeedBreak;
  }


  public void setPlay25FeedBreak(Double play25FeedBreak) {
    this.play25FeedBreak = play25FeedBreak;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner play50FeedBreak(Double play50FeedBreak) {
    
    this.play50FeedBreak = play50FeedBreak;
    return this;
  }

   /**
   * 
   * @return play50FeedBreak
  **/
  @javax.annotation.Nullable
  public Double getPlay50FeedBreak() {
    return play50FeedBreak;
  }


  public void setPlay50FeedBreak(Double play50FeedBreak) {
    this.play50FeedBreak = play50FeedBreak;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner play75FeedBreak(Double play75FeedBreak) {
    
    this.play75FeedBreak = play75FeedBreak;
    return this;
  }

   /**
   * 
   * @return play75FeedBreak
  **/
  @javax.annotation.Nullable
  public Double getPlay75FeedBreak() {
    return play75FeedBreak;
  }


  public void setPlay75FeedBreak(Double play75FeedBreak) {
    this.play75FeedBreak = play75FeedBreak;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner playDuration3s(Double playDuration3s) {
    
    this.playDuration3s = playDuration3s;
    return this;
  }

   /**
   * 
   * @return playDuration3s
  **/
  @javax.annotation.Nullable
  public Double getPlayDuration3s() {
    return playDuration3s;
  }


  public void setPlayDuration3s(Double playDuration3s) {
    this.playDuration3s = playDuration3s;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner playOver(Double playOver) {
    
    this.playOver = playOver;
    return this;
  }

   /**
   * 
   * @return playOver
  **/
  @javax.annotation.Nullable
  public Double getPlayOver() {
    return playOver;
  }


  public void setPlayOver(Double playOver) {
    this.playOver = playOver;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner playOverRate(Double playOverRate) {
    
    this.playOverRate = playOverRate;
    return this;
  }

   /**
   * 
   * @return playOverRate
  **/
  @javax.annotation.Nullable
  public Double getPlayOverRate() {
    return playOverRate;
  }


  public void setPlayOverRate(Double playOverRate) {
    this.playOverRate = playOverRate;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner prepayAndPayOrderRoi(Double prepayAndPayOrderRoi) {
    
    this.prepayAndPayOrderRoi = prepayAndPayOrderRoi;
    return this;
  }

   /**
   * 
   * @return prepayAndPayOrderRoi
  **/
  @javax.annotation.Nullable
  public Double getPrepayAndPayOrderRoi() {
    return prepayAndPayOrderRoi;
  }


  public void setPrepayAndPayOrderRoi(Double prepayAndPayOrderRoi) {
    this.prepayAndPayOrderRoi = prepayAndPayOrderRoi;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner prepayOrderAmount(Double prepayOrderAmount) {
    
    this.prepayOrderAmount = prepayOrderAmount;
    return this;
  }

   /**
   * 
   * @return prepayOrderAmount
  **/
  @javax.annotation.Nullable
  public Double getPrepayOrderAmount() {
    return prepayOrderAmount;
  }


  public void setPrepayOrderAmount(Double prepayOrderAmount) {
    this.prepayOrderAmount = prepayOrderAmount;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner prepayOrderCount(Double prepayOrderCount) {
    
    this.prepayOrderCount = prepayOrderCount;
    return this;
  }

   /**
   * 
   * @return prepayOrderCount
  **/
  @javax.annotation.Nullable
  public Double getPrepayOrderCount() {
    return prepayOrderCount;
  }


  public void setPrepayOrderCount(Double prepayOrderCount) {
    this.prepayOrderCount = prepayOrderCount;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner searchWord(String searchWord) {
    
    this.searchWord = searchWord;
    return this;
  }

   /**
   * 
   * @return searchWord
  **/
  @javax.annotation.Nullable
  public String getSearchWord() {
    return searchWord;
  }


  public void setSearchWord(String searchWord) {
    this.searchWord = searchWord;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner showCnt(Double showCnt) {
    
    this.showCnt = showCnt;
    return this;
  }

   /**
   * 
   * @return showCnt
  **/
  @javax.annotation.Nullable
  public Double getShowCnt() {
    return showCnt;
  }


  public void setShowCnt(Double showCnt) {
    this.showCnt = showCnt;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner startDate(String startDate) {
    
    this.startDate = startDate;
    return this;
  }

   /**
   * 
   * @return startDate
  **/
  @javax.annotation.Nullable
  public String getStartDate() {
    return startDate;
  }


  public void setStartDate(String startDate) {
    this.startDate = startDate;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner statCost(Double statCost) {
    
    this.statCost = statCost;
    return this;
  }

   /**
   * 
   * @return statCost
  **/
  @javax.annotation.Nullable
  public Double getStatCost() {
    return statCost;
  }


  public void setStatCost(Double statCost) {
    this.statCost = statCost;
  }


  public QianchuanReportSearchWordGetV10ResponseDataListInner totalPlay(Double totalPlay) {
    
    this.totalPlay = totalPlay;
    return this;
  }

   /**
   * 
   * @return totalPlay
  **/
  @javax.annotation.Nullable
  public Double getTotalPlay() {
    return totalPlay;
  }


  public void setTotalPlay(Double totalPlay) {
    this.totalPlay = totalPlay;
  }



  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    QianchuanReportSearchWordGetV10ResponseDataListInner qianchuanReportSearchWordGetV10ResponseDataListInner = (QianchuanReportSearchWordGetV10ResponseDataListInner) o;
    return Objects.equals(this.adId, qianchuanReportSearchWordGetV10ResponseDataListInner.adId) &&
        Objects.equals(this.adName, qianchuanReportSearchWordGetV10ResponseDataListInner.adName) &&
        Objects.equals(this.campaignId, qianchuanReportSearchWordGetV10ResponseDataListInner.campaignId) &&
        Objects.equals(this.campaignName, qianchuanReportSearchWordGetV10ResponseDataListInner.campaignName) &&
        Objects.equals(this.clickCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.clickCnt) &&
        Objects.equals(this.cpmPlatform, qianchuanReportSearchWordGetV10ResponseDataListInner.cpmPlatform) &&
        Objects.equals(this.createOrderAmount, qianchuanReportSearchWordGetV10ResponseDataListInner.createOrderAmount) &&
        Objects.equals(this.createOrderCount, qianchuanReportSearchWordGetV10ResponseDataListInner.createOrderCount) &&
        Objects.equals(this.createOrderRoi, qianchuanReportSearchWordGetV10ResponseDataListInner.createOrderRoi) &&
        Objects.equals(this.ctr, qianchuanReportSearchWordGetV10ResponseDataListInner.ctr) &&
        Objects.equals(this.dyComment, qianchuanReportSearchWordGetV10ResponseDataListInner.dyComment) &&
        Objects.equals(this.dyFollow, qianchuanReportSearchWordGetV10ResponseDataListInner.dyFollow) &&
        Objects.equals(this.dyLike, qianchuanReportSearchWordGetV10ResponseDataListInner.dyLike) &&
        Objects.equals(this.dyShare, qianchuanReportSearchWordGetV10ResponseDataListInner.dyShare) &&
        Objects.equals(this.ecpConvertCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.ecpConvertCnt) &&
        Objects.equals(this.ecpConvertRate, qianchuanReportSearchWordGetV10ResponseDataListInner.ecpConvertRate) &&
        Objects.equals(this.ecpCpaPlatform, qianchuanReportSearchWordGetV10ResponseDataListInner.ecpCpaPlatform) &&
        Objects.equals(this.endDate, qianchuanReportSearchWordGetV10ResponseDataListInner.endDate) &&
        Objects.equals(this.keyWord, qianchuanReportSearchWordGetV10ResponseDataListInner.keyWord) &&
        Objects.equals(this.keywordMatchType, qianchuanReportSearchWordGetV10ResponseDataListInner.keywordMatchType) &&
        Objects.equals(this.liveFansClubJoinCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.liveFansClubJoinCnt) &&
        Objects.equals(this.liveWatchOneMinuteCount, qianchuanReportSearchWordGetV10ResponseDataListInner.liveWatchOneMinuteCount) &&
        Objects.equals(this.lubanLiveClickProductCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.lubanLiveClickProductCnt) &&
        Objects.equals(this.lubanLiveCommentCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.lubanLiveCommentCnt) &&
        Objects.equals(this.lubanLiveEnterCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.lubanLiveEnterCnt) &&
        Objects.equals(this.lubanLiveGiftAmount, qianchuanReportSearchWordGetV10ResponseDataListInner.lubanLiveGiftAmount) &&
        Objects.equals(this.lubanLiveGiftCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.lubanLiveGiftCnt) &&
        Objects.equals(this.lubanLiveShareCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.lubanLiveShareCnt) &&
        Objects.equals(this.lubanLiveSlidecartClickCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.lubanLiveSlidecartClickCnt) &&
        Objects.equals(this.payOrderAmount, qianchuanReportSearchWordGetV10ResponseDataListInner.payOrderAmount) &&
        Objects.equals(this.payOrderCostPerOrder, qianchuanReportSearchWordGetV10ResponseDataListInner.payOrderCostPerOrder) &&
        Objects.equals(this.payOrderCount, qianchuanReportSearchWordGetV10ResponseDataListInner.payOrderCount) &&
        Objects.equals(this.play25FeedBreak, qianchuanReportSearchWordGetV10ResponseDataListInner.play25FeedBreak) &&
        Objects.equals(this.play50FeedBreak, qianchuanReportSearchWordGetV10ResponseDataListInner.play50FeedBreak) &&
        Objects.equals(this.play75FeedBreak, qianchuanReportSearchWordGetV10ResponseDataListInner.play75FeedBreak) &&
        Objects.equals(this.playDuration3s, qianchuanReportSearchWordGetV10ResponseDataListInner.playDuration3s) &&
        Objects.equals(this.playOver, qianchuanReportSearchWordGetV10ResponseDataListInner.playOver) &&
        Objects.equals(this.playOverRate, qianchuanReportSearchWordGetV10ResponseDataListInner.playOverRate) &&
        Objects.equals(this.prepayAndPayOrderRoi, qianchuanReportSearchWordGetV10ResponseDataListInner.prepayAndPayOrderRoi) &&
        Objects.equals(this.prepayOrderAmount, qianchuanReportSearchWordGetV10ResponseDataListInner.prepayOrderAmount) &&
        Objects.equals(this.prepayOrderCount, qianchuanReportSearchWordGetV10ResponseDataListInner.prepayOrderCount) &&
        Objects.equals(this.searchWord, qianchuanReportSearchWordGetV10ResponseDataListInner.searchWord) &&
        Objects.equals(this.showCnt, qianchuanReportSearchWordGetV10ResponseDataListInner.showCnt) &&
        Objects.equals(this.startDate, qianchuanReportSearchWordGetV10ResponseDataListInner.startDate) &&
        Objects.equals(this.statCost, qianchuanReportSearchWordGetV10ResponseDataListInner.statCost) &&
        Objects.equals(this.totalPlay, qianchuanReportSearchWordGetV10ResponseDataListInner.totalPlay);
  }

  private static <T> boolean equalsNullable(JsonNullable<T> a, JsonNullable<T> b) {
    return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get()));
  }

  @Override
  public int hashCode() {
    return Objects.hash(adId, adName, campaignId, campaignName, clickCnt, cpmPlatform, createOrderAmount, createOrderCount, createOrderRoi, ctr, dyComment, dyFollow, dyLike, dyShare, ecpConvertCnt, ecpConvertRate, ecpCpaPlatform, endDate, keyWord, keywordMatchType, liveFansClubJoinCnt, liveWatchOneMinuteCount, lubanLiveClickProductCnt, lubanLiveCommentCnt, lubanLiveEnterCnt, lubanLiveGiftAmount, lubanLiveGiftCnt, lubanLiveShareCnt, lubanLiveSlidecartClickCnt, payOrderAmount, payOrderCostPerOrder, payOrderCount, play25FeedBreak, play50FeedBreak, play75FeedBreak, playDuration3s, playOver, playOverRate, prepayAndPayOrderRoi, prepayOrderAmount, prepayOrderCount, searchWord, showCnt, startDate, statCost, totalPlay);
  }

  private static <T> int hashCodeNullable(JsonNullable<T> a) {
    if (a == null) {
      return 1;
    }
    return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31;
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class QianchuanReportSearchWordGetV10ResponseDataListInner {\n");
    sb.append("    adId: ").append(toIndentedString(adId)).append("\n");
    sb.append("    adName: ").append(toIndentedString(adName)).append("\n");
    sb.append("    campaignId: ").append(toIndentedString(campaignId)).append("\n");
    sb.append("    campaignName: ").append(toIndentedString(campaignName)).append("\n");
    sb.append("    clickCnt: ").append(toIndentedString(clickCnt)).append("\n");
    sb.append("    cpmPlatform: ").append(toIndentedString(cpmPlatform)).append("\n");
    sb.append("    createOrderAmount: ").append(toIndentedString(createOrderAmount)).append("\n");
    sb.append("    createOrderCount: ").append(toIndentedString(createOrderCount)).append("\n");
    sb.append("    createOrderRoi: ").append(toIndentedString(createOrderRoi)).append("\n");
    sb.append("    ctr: ").append(toIndentedString(ctr)).append("\n");
    sb.append("    dyComment: ").append(toIndentedString(dyComment)).append("\n");
    sb.append("    dyFollow: ").append(toIndentedString(dyFollow)).append("\n");
    sb.append("    dyLike: ").append(toIndentedString(dyLike)).append("\n");
    sb.append("    dyShare: ").append(toIndentedString(dyShare)).append("\n");
    sb.append("    ecpConvertCnt: ").append(toIndentedString(ecpConvertCnt)).append("\n");
    sb.append("    ecpConvertRate: ").append(toIndentedString(ecpConvertRate)).append("\n");
    sb.append("    ecpCpaPlatform: ").append(toIndentedString(ecpCpaPlatform)).append("\n");
    sb.append("    endDate: ").append(toIndentedString(endDate)).append("\n");
    sb.append("    keyWord: ").append(toIndentedString(keyWord)).append("\n");
    sb.append("    keywordMatchType: ").append(toIndentedString(keywordMatchType)).append("\n");
    sb.append("    liveFansClubJoinCnt: ").append(toIndentedString(liveFansClubJoinCnt)).append("\n");
    sb.append("    liveWatchOneMinuteCount: ").append(toIndentedString(liveWatchOneMinuteCount)).append("\n");
    sb.append("    lubanLiveClickProductCnt: ").append(toIndentedString(lubanLiveClickProductCnt)).append("\n");
    sb.append("    lubanLiveCommentCnt: ").append(toIndentedString(lubanLiveCommentCnt)).append("\n");
    sb.append("    lubanLiveEnterCnt: ").append(toIndentedString(lubanLiveEnterCnt)).append("\n");
    sb.append("    lubanLiveGiftAmount: ").append(toIndentedString(lubanLiveGiftAmount)).append("\n");
    sb.append("    lubanLiveGiftCnt: ").append(toIndentedString(lubanLiveGiftCnt)).append("\n");
    sb.append("    lubanLiveShareCnt: ").append(toIndentedString(lubanLiveShareCnt)).append("\n");
    sb.append("    lubanLiveSlidecartClickCnt: ").append(toIndentedString(lubanLiveSlidecartClickCnt)).append("\n");
    sb.append("    payOrderAmount: ").append(toIndentedString(payOrderAmount)).append("\n");
    sb.append("    payOrderCostPerOrder: ").append(toIndentedString(payOrderCostPerOrder)).append("\n");
    sb.append("    payOrderCount: ").append(toIndentedString(payOrderCount)).append("\n");
    sb.append("    play25FeedBreak: ").append(toIndentedString(play25FeedBreak)).append("\n");
    sb.append("    play50FeedBreak: ").append(toIndentedString(play50FeedBreak)).append("\n");
    sb.append("    play75FeedBreak: ").append(toIndentedString(play75FeedBreak)).append("\n");
    sb.append("    playDuration3s: ").append(toIndentedString(playDuration3s)).append("\n");
    sb.append("    playOver: ").append(toIndentedString(playOver)).append("\n");
    sb.append("    playOverRate: ").append(toIndentedString(playOverRate)).append("\n");
    sb.append("    prepayAndPayOrderRoi: ").append(toIndentedString(prepayAndPayOrderRoi)).append("\n");
    sb.append("    prepayOrderAmount: ").append(toIndentedString(prepayOrderAmount)).append("\n");
    sb.append("    prepayOrderCount: ").append(toIndentedString(prepayOrderCount)).append("\n");
    sb.append("    searchWord: ").append(toIndentedString(searchWord)).append("\n");
    sb.append("    showCnt: ").append(toIndentedString(showCnt)).append("\n");
    sb.append("    startDate: ").append(toIndentedString(startDate)).append("\n");
    sb.append("    statCost: ").append(toIndentedString(statCost)).append("\n");
    sb.append("    totalPlay: ").append(toIndentedString(totalPlay)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }


  public static HashSet<String> openapiFields;
  public static HashSet<String> openapiRequiredFields;

  static {
    // a set of all properties/fields (JSON key names)
    openapiFields = new HashSet<String>();
    openapiFields.add("ad_id");
    openapiFields.add("ad_name");
    openapiFields.add("campaign_id");
    openapiFields.add("campaign_name");
    openapiFields.add("click_cnt");
    openapiFields.add("cpm_platform");
    openapiFields.add("create_order_amount");
    openapiFields.add("create_order_count");
    openapiFields.add("create_order_roi");
    openapiFields.add("ctr");
    openapiFields.add("dy_comment");
    openapiFields.add("dy_follow");
    openapiFields.add("dy_like");
    openapiFields.add("dy_share");
    openapiFields.add("ecp_convert_cnt");
    openapiFields.add("ecp_convert_rate");
    openapiFields.add("ecp_cpa_platform");
    openapiFields.add("end_date");
    openapiFields.add("key_word");
    openapiFields.add("keyword_match_type");
    openapiFields.add("live_fans_club_join_cnt");
    openapiFields.add("live_watch_one_minute_count");
    openapiFields.add("luban_live_click_product_cnt");
    openapiFields.add("luban_live_comment_cnt");
    openapiFields.add("luban_live_enter_cnt");
    openapiFields.add("luban_live_gift_amount");
    openapiFields.add("luban_live_gift_cnt");
    openapiFields.add("luban_live_share_cnt");
    openapiFields.add("luban_live_slidecart_click_cnt");
    openapiFields.add("pay_order_amount");
    openapiFields.add("pay_order_cost_per_order");
    openapiFields.add("pay_order_count");
    openapiFields.add("play_25_feed_break");
    openapiFields.add("play_50_feed_break");
    openapiFields.add("play_75_feed_break");
    openapiFields.add("play_duration_3s");
    openapiFields.add("play_over");
    openapiFields.add("play_over_rate");
    openapiFields.add("prepay_and_pay_order_roi");
    openapiFields.add("prepay_order_amount");
    openapiFields.add("prepay_order_count");
    openapiFields.add("search_word");
    openapiFields.add("show_cnt");
    openapiFields.add("start_date");
    openapiFields.add("stat_cost");
    openapiFields.add("total_play");

    // a set of required properties/fields (JSON key names)
    openapiRequiredFields = new HashSet<String>();
  }


  public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
    @SuppressWarnings("unchecked")
    @Override
    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
       if (!QianchuanReportSearchWordGetV10ResponseDataListInner.class.isAssignableFrom(type.getRawType())) {
         return null; // this class only serializes 'QianchuanReportSearchWordGetV10ResponseDataListInner' and its subtypes
       }
       final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class);
       final TypeAdapter<QianchuanReportSearchWordGetV10ResponseDataListInner> thisAdapter
                        = gson.getDelegateAdapter(this, TypeToken.get(QianchuanReportSearchWordGetV10ResponseDataListInner.class));

       return (TypeAdapter<T>) new TypeAdapter<QianchuanReportSearchWordGetV10ResponseDataListInner>() {
           @Override
           public void write(JsonWriter out, QianchuanReportSearchWordGetV10ResponseDataListInner value) throws IOException {
             JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
             elementAdapter.write(out, obj);
           }

           @Override
           public QianchuanReportSearchWordGetV10ResponseDataListInner read(JsonReader in) throws IOException {
             JsonElement jsonElement = elementAdapter.read(in);
             return thisAdapter.fromJsonTree(jsonElement);
           }

       }.nullSafe();
    }
  }

 /**
  * Create an instance of QianchuanReportSearchWordGetV10ResponseDataListInner given an JSON string
  *
  * @param jsonString JSON string
  * @return An instance of QianchuanReportSearchWordGetV10ResponseDataListInner
  * @throws IOException if the JSON string is invalid with respect to QianchuanReportSearchWordGetV10ResponseDataListInner
  */
  public static QianchuanReportSearchWordGetV10ResponseDataListInner fromJson(String jsonString) throws IOException {
    return JSON.getGson().fromJson(jsonString, QianchuanReportSearchWordGetV10ResponseDataListInner.class);
  }

 /**
  * Convert an instance of QianchuanReportSearchWordGetV10ResponseDataListInner to an JSON string
  *
  * @return JSON string
  */
  public String toJson() {
    return JSON.getGson().toJson(this);
  }
}

