package com.stripe.model;

import com.stripe.exception.APIConnectionException;
import com.stripe.exception.APIException;
import com.stripe.exception.AuthenticationException;
import com.stripe.exception.CardException;
import com.stripe.exception.InvalidRequestException;
import com.stripe.net.APIResource;
import com.stripe.net.RequestOptions;

import java.util.Map;

public class IssuerFraudRecord extends APIResource implements HasId {
  String id;
  String object;
  ExpandableField<Charge> charge;
  Long created;
  String fraudType;
  Boolean livemode;
  Long postDate;

  @Override
  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public String getObject() {
    return object;
  }

  public void setObject(String object) {
    this.object = object;
  }

  public String getCharge() {
    return (this.charge != null) ? this.charge.getId() : null;
  }

  public void setCharge(String chargeID) {
    this.charge = setExpandableFieldID(chargeID, this.charge);
  }

  public Charge getChargeObject() {
    return (this.charge != null) ? this.charge.getExpanded() : null;
  }

  public void setChargeObject(Charge c) {
    this.charge = new ExpandableField<Charge>(c.getId(), c);
  }

  public Long getCreated() {
    return created;
  }

  public void setCreated(Long created) {
    this.created = created;
  }

  public String getFraudType() {
    return fraudType;
  }

  public void setFraudType(String fraudType) {
    this.fraudType = fraudType;
  }

  public Boolean getLivemode() {
    return livemode;
  }

  public void setLivemode(Boolean livemode) {
    this.livemode = livemode;
  }

  public Long getPostDate() {
    return postDate;
  }

  public void setPostDate(Long postDate) {
    this.postDate = postDate;
  }

  public static IssuerFraudRecord retrieve(String id)
      throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException {
    String url = instanceURL(IssuerFraudRecord.class, id);
    return request(RequestMethod.GET, url, null, IssuerFraudRecord.class, null);
  }

  public static IssuerFraudRecordCollection list(Map<String, Object> params)
      throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException {
    return list(params, null);
  }

  public static IssuerFraudRecordCollection list(Map<String, Object> params, RequestOptions options)
      throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException {
    return requestCollection(classURL(IssuerFraudRecord.class), params, IssuerFraudRecordCollection.class, options);
  }

}

@@ -1889,32 +1889,54 @@
 equestException,
+%0A                     
  APIConnectionEx
@@ -2250,32 +2250,54 @@
 equestException,
+%0A                     
  APIConnectionEx
@@ -2363,32 +2363,300 @@
 ms, null);%0A  %7D%0A%0A
+  /**%0A   */%0A  /**%0A   * Returns the IssuerFraudRecordCollection listing.%0A   * @param params The standard parameters for the listing.%0A   * @param options The standard request options for the listing.%0A   * @return the listing of params at /v1/issuer_fraud_records.%0A   */%0A
   public static 
@@ -2798,24 +2798,46 @@
 stException,
+%0A                     
  APIConnecti
@@ -2908,16 +2908,25 @@
 lection(
+%0A        
 classURL
@@ -3002,16 +3002,21 @@
  options
+%0A    
 );%0A  %7D%0A%0A

include Javadoc for checkstyleMain task