package com.liquidnet.service.goblin.util;

import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import com.mongodb.BasicDBObject;

import java.util.ArrayList;

public class ObjectUtil {
    private static final PagedResult<GoblinStoreMgtGoodsListVo> goblinStoreMgtGoodsVoPagedResult = new PagedResult<>();

    private static final ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinFrontBanner> goblinFrontBannerArrayList = new ArrayList<>();
    private static final ArrayList<GoblinFrontBannerVo> goblinFrontBannerVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinSelfMarketingVo> goblinSelfMarketingVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinStoreMgtThumbVo> goblinStoreMgtThumbVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsSpecVo> goblinGoodsSpecVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinServiceSupportVo> goblinServiceSupportVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinSelfTagVo> goblinSelfTagVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsTagVo> goblinGoodsTagVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsExtagVo> goblinGoodsExtagVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinMarketSpuListVo> goblinMarketSpuListVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinStorePurchaseSkuVo> goblinStorePurchaseSkuVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinSelfZhengzaiSkuVo> goblinSelfZhengzaiSkuVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinShowStoreInfoVo> goblinShowStoreInfoVoArrayList = new ArrayList<>();
    private static final ArrayList<AdamEntersVo> arrayListObject = new ArrayList<>();


    private static final BasicDBObject basicDBObject = new BasicDBObject();

    public static PagedResult<GoblinStoreMgtGoodsListVo> getGoblinStoreMgtGoodsVoPagedResult() {
        return goblinStoreMgtGoodsVoPagedResult.clone();
    }

    public static ArrayList<AdamEntersVo> cloneArrayListObject() {
        return (ArrayList<AdamEntersVo>) arrayListObject.clone();
    }

    public static ArrayList<GoblinShowStoreInfoVo> getGoblinShowStoreInfoVoArrayList() {
        return (ArrayList<GoblinShowStoreInfoVo>) goblinShowStoreInfoVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList() {
        return (ArrayList<GoblinGoodsInfoVo>) goblinGoodsInfoVoArrayList.clone();
    }

    public static ArrayList<GoblinFrontBannerVo> goblinFrontBannerVoArrayList() {
        return (ArrayList<GoblinFrontBannerVo>) goblinFrontBannerVoArrayList.clone();
    }

    public static ArrayList<GoblinFrontBanner> getGoblinFrontBannerArrayList() {
        return (ArrayList<GoblinFrontBanner>) goblinFrontBannerArrayList.clone();
    }

    public static ArrayList<GoblinSelfMarketingVo> getGoblinSelfMarketingVoList() {
        return (ArrayList<GoblinSelfMarketingVo>) goblinSelfMarketingVoArrayList.clone();
    }

    public static ArrayList<GoblinStoreMgtThumbVo> getGoblinStoreMgtThumbVoArrayList() {
        return (ArrayList<GoblinStoreMgtThumbVo>) goblinStoreMgtThumbVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsSkuInfoVo> getGoblinGoodsSkuInfoVoArrayList() {
        return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsSpecVo> getGoblinGoodsSpecVoArrayList() {
        return (ArrayList<GoblinGoodsSpecVo>) goblinGoodsSpecVoArrayList.clone();
    }

    public static ArrayList<GoblinServiceSupportVo> getGoblinServiceSupportVoArrayList() {
        return (ArrayList<GoblinServiceSupportVo>) goblinServiceSupportVoArrayList.clone();
    }

    public static ArrayList<GoblinSelfTagVo> getGoblinSelfTagVoArrayList() {
        return (ArrayList<GoblinSelfTagVo>) goblinSelfTagVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsTagVo> getGoblinGoodsTagVoArrayList() {
        return (ArrayList<GoblinGoodsTagVo>) goblinGoodsTagVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsExtagVo> getGoblinGoodsExtagVoArrayList() {
        return (ArrayList<GoblinGoodsExtagVo>) goblinGoodsExtagVoArrayList.clone();
    }

    public static ArrayList<GoblinMarketSpuListVo> getGoblinMarketSpuListVoArrayList() {
        return (ArrayList<GoblinMarketSpuListVo>) goblinMarketSpuListVoArrayList.clone();
    }

    public static ArrayList<GoblinStorePurchaseSkuVo> getGoblinStorePurchaseSkuVoArrayList() {
        return (ArrayList<GoblinStorePurchaseSkuVo>) goblinStorePurchaseSkuVoArrayList.clone();
    }

    public static ArrayList<GoblinSelfZhengzaiSkuVo> getGoblinSelfZhengzaiSkuVoArrayList() {
        return (ArrayList<GoblinSelfZhengzaiSkuVo>) goblinSelfZhengzaiSkuVoArrayList.clone();
    }


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