package com.liquidnet.service.goblin.util;

import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.dto.vo.GoblinFrontBannerVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import com.mongodb.BasicDBObject;

import java.util.ArrayList;
import java.util.List;

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

    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<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsSpecVo> goblinGoodsSpecVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsTagVo> goblinGoodsTagVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsServiceSupportVo> goblinGoodsServiceSupportVoArrayList = 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 BasicDBObject basicDBObject = new BasicDBObject();

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

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

    public static ArrayList<GoblinStorePurchaseSkuVo> getGoblinStorePurchaseSkuVoArrayList() {
        return (ArrayList<GoblinStorePurchaseSkuVo>) goblinStorePurchaseSkuVoArrayList.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<GoblinGoodsSkuInfoVo> getGoblinGoodsSkuInfoVoArrayList() {
        return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVoArrayList.clone();
    }

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

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

    public static ArrayList<GoblinGoodsServiceSupportVo> getGoblinGoodsServiceSupportVoArrayList() {
        return (ArrayList<GoblinGoodsServiceSupportVo>) goblinGoodsServiceSupportVoArrayList.clone();
    }

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

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