package com.liquidnet.service.merchant.util;

import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.merchant.dto.vo.*;
import com.mongodb.BasicDBObject;

import java.util.ArrayList;

public class ObjectUtil {
    private static final ArrayList<MerchantStationsVo> merchantStationsVosArrayList = new ArrayList<>();

    private static final ArrayList<MerchantFieldAppliesVo> merchantFieldAppliesVoArrayList = new ArrayList<>();
    private static final ArrayList<MerchantFieldCheckersVo> merchantFieldCheckersVoArrayList = new ArrayList<>();

    private static final ArrayList<MerchantSponsorAppliesVo> merchantSponsorAppliesVoArrayList = new ArrayList<>();

    private static final PagedResult<MerchantFieldsVo> merchantFieldsVoPagedResult = new PagedResult<>();

    private static final PagedResult<MerchantSponsorsVo> merchantSponsorsVoPagedResult = new PagedResult<>();

    private static final BasicDBObject basicDBObject = new BasicDBObject();


    public static ArrayList<MerchantStationsVo> getMerchantStationsVosArrayList() {
        return (ArrayList<MerchantStationsVo>) merchantStationsVosArrayList.clone();
    }

    public static ArrayList<MerchantFieldAppliesVo> getMerchantFieldAppliesVoArrayList() {
        return (ArrayList<MerchantFieldAppliesVo>) merchantFieldAppliesVoArrayList.clone();
    }

    public static ArrayList<MerchantFieldCheckersVo> getMerchantFieldCheckersVoArrayList() {
        return (ArrayList<MerchantFieldCheckersVo>) merchantFieldCheckersVoArrayList.clone();
    }

    public static PagedResult<MerchantFieldsVo> getMerchantFieldsVoPagedResult() {
        return merchantFieldsVoPagedResult.clone();
    }

    public static PagedResult<MerchantSponsorsVo> getMerchantSponsorsVoPagedResult() {
        return merchantSponsorsVoPagedResult.clone();
    }

    public static ArrayList<MerchantSponsorAppliesVo> getMerchantSponsorAppliesVoArrayList() {
        return (ArrayList<MerchantSponsorAppliesVo>) merchantSponsorAppliesVoArrayList.clone();
    }

    public static BasicDBObject cloneBasicDBObject() {
        return (BasicDBObject) basicDBObject.clone();
    }
}
