• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
养眼大魔王
博客园    首页    新随笔    联系   管理    订阅  订阅

java的一段对象数据类型映射的代码

        
        try {
            List<GateMetaPO> listGateInfoPO = majorGateReaderService.queryForAggregateBy( chapter);
            List<GateInfoPB> list = Lists.transform(listGateInfoPO, new Function<GateMetaPO, GateInfoPB>() {
                @Override
                public GateInfoPB apply(GateMetaPO input) {
                    GateInfoPB.Builder builder = GateInfoPB.newBuilder();
                    builder.setChapter(input.getChapter());
                    builder.setGateCode(input.getGateCode());
                    builder.setExp(input.getExp());
                    builder.setMoney(input.getMoney());
                    builder.setIndex(input.getIndex());
                    List<EmemyList> ememyList =  input.getEmemyList();
                    List<EmemyListPB> ememyListPB = Lists.transform(ememyList, new Function<EmemyList, EmemyListPB>() {
                        @Override
                        public EmemyListPB apply( EmemyList input) {
                            EmemyListPB.Builder builder = EmemyListPB.newBuilder();
                            builder.setMode(input.getMode());
                            List<EmemyInfo> ememyInfo =  input.getEmemyInfo();
                            List<EmemyInfoPB> ememyInfoPB = Lists.transform(ememyInfo, new Function<EmemyInfo, EmemyInfoPB>() {
                                @Override
                                public EmemyInfoPB apply(EmemyInfo input) {
                                    EmemyInfoPB.Builder builder = EmemyInfoPB.newBuilder();
                                    builder.setEmemyCode(input.getEmemyCode());
                                    builder.setIndex(Integer.parseInt(input.getEmemyIndex()));
                                    return builder.build();
                                }
                            });
                            builder.addAllEmemyInfoPB(ememyInfoPB);
                            return builder.build();
                        }
                    });
                    builder.addAllEmemyListPB(ememyListPB);
                    List<GoodsList> goodsList = input.getGoodsList();
                    List<GoodsListPB> goodsListPB = Lists.transform(goodsList, new Function<GoodsList, GoodsListPB>(){
                        @Override
                        public GoodsListPB apply(GoodsList input) {
                            // TODO Auto-generated method stub
                            GoodsListPB.Builder builder = GoodsListPB.newBuilder();
                            builder.setMode(input.getMode());
                            List<GoodsInfo> goodsInfo = input.getGoodsInfo();
                            List<GoodsInfoPB> goodsInfoPB = Lists.transform(goodsInfo, new Function<GoodsInfo, GoodsInfoPB>(){
                                @Override
                                public GoodsInfoPB apply(GoodsInfo input) {
                                    GoodsInfoPB.Builder builder = GoodsInfoPB.newBuilder();
                                    builder.setGoodsCode(input.getGoodsCode());
                                    builder.setMaxCounts(input.getMaxCounts());
                                    builder.setDropRate(input.getDropRate());
                                    return builder.build();
                                }            
                            });
                            builder.addAllGoodsInfoPB(goodsInfoPB);
                            return builder.build();
                        }
                        
                    });
                    builder.addAllGoodsListPB(goodsListPB);
                    List<GateState> gateState = input.getGateStateList();
                    List<GateStatePB> gateStatePB = Lists.transform(gateState, new Function<GateState, GateStatePB>(){
                        @Override
                        public GateStatePB apply(GateState input) {
                            GateStatePB.Builder builder = GateStatePB.newBuilder();
                            builder.setMode(input.getMode());
                            builder.setBattleState(input.getBattleState());
                            builder.setScore(input.getScore());
                            builder.setCounts(input.getCounts());
                            builder.setTotal(input.getTotal());
                            return builder.build();
                        }    
                    });
                    builder.addAllGateStatePB(gateStatePB);
                    return builder.build();
                }
            });
            builder.setResultCode(1).addAllGateInfo(list);
        } catch (Exception e) {

        }

 

posted @ 2014-12-05 15:46  养眼大魔王  阅读(498)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3