package com.kickstarter.models;
import android.os.Parcelable;
import android.support.annotation.Nullable;
import android.support.annotation.StringDef;
import com.kickstarter.libs.qualifiers.AutoGson;
import org.joda.time.DateTime;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import auto.parcel.AutoParcel;
@AutoGson
@AutoParcel
public abstract class Backing implements Parcelable {
public abstract float amount();
public abstract @Nullable User backer();
public abstract long backerId();
public abstract @Nullable DateTime completedAt();
public abstract long id();
public abstract @Nullable Location location();
public abstract DateTime pledgedAt();
public abstract @Nullable Project project();
public abstract String projectCountry();
public abstract long projectId();
public abstract @Nullable Reward reward();
public abstract @Nullable Long rewardId();
public abstract long sequence();
public abstract float shippingAmount();
public abstract @Status String status();
@AutoParcel.Builder
public abstract static class Builder {
public abstract Builder amount(float __);
public abstract Builder backer(User __);
public abstract Builder backerId(long __);
public abstract Builder completedAt(DateTime __);
public abstract Builder id(long __);
public abstract Builder location(Location __);
public abstract Builder pledgedAt(DateTime __);
public abstract Builder project(Project __);
public abstract Builder projectCountry(String __);
public abstract Builder projectId(long __);
public abstract Builder reward(Reward __);
public abstract Builder rewardId(Long __);
public abstract Builder sequence(long __);
public abstract Builder shippingAmount(float __);
public abstract Builder status(@Status String __);
public abstract Backing build();
}
public static Builder builder() {
return new AutoParcel_Backing.Builder();
}
public abstract Builder toBuilder();
public static final String STATUS_CANCELED = "canceled";
public static final String STATUS_COLLECTED = "collected";
public static final String STATUS_DROPPED = "dropped";
public static final String STATUS_ERRORED = "errored";
public static final String STATUS_PLEDGED = "pledged";
public static final String STATUS_PREAUTH = "preauth";
@Retention(RetentionPolicy.SOURCE)
@StringDef({STATUS_CANCELED, STATUS_COLLECTED, STATUS_DROPPED, STATUS_ERRORED, STATUS_PLEDGED, STATUS_PREAUTH})
public @interface Status {}
}