包装类,反射,上一篇续

189 篇文章 0 订阅
/**
	 * 利用反射来设置
	 * @param coursewarePackages
	 * @return
	 */
	protected List<CoursewarePackageWrapper> getCoursewarePackageWrappers(List<CoursewarePackage> coursewarePackages){
    	List<CoursewarePackageWrapper> wrappers = Lists.newArrayList();
    	//key为获取方(CoursewarePackage),value为set方(CoursewarePackageWrapper)
    	Map<String,String> packMap = Maps.newHashMap();
    	packMap.put("id", "id");
    	packMap.put("createTime", "createTime");
    	packMap.put("name", "name");
    	packMap.put("realPicturePath", "realPicturePath");
    	packMap.put("creater-id", "userId");
    	packMap.put("creater-name", "userName");
    	packMap.put("description", "description");
    	
    	Map<String,String> proMap = Maps.newHashMap();
		proMap.put("id", "id");
		proMap.put("name", "name");
		proMap.put("sortCode", "sortCode");
		proMap.put("sortId", "sortId");
    	
    	for(CoursewarePackage coursewarePackage : coursewarePackages){
    		CoursewarePackageWrapper wrapper = new CoursewarePackageWrapper();
    		for(Entry<String, String> entry:packMap.entrySet()){
    			String packField = entry.getKey();
    			if(packField.indexOf("-")!=-1){
    				String subPackField1 = packField.substring(0, packField.indexOf("-"));
    				String subPackField2 = packField.substring( packField.indexOf("-")+1,packField.length());
    				ReflectionUtils.setFieldValue(wrapper, entry.getValue(),ReflectionUtils.getFieldValue(ReflectionUtils.getFieldValue(coursewarePackage, subPackField1),subPackField2) ) ;
    			}else{
    				ReflectionUtils.setFieldValue(wrapper, entry.getValue(),ReflectionUtils.getFieldValue(coursewarePackage, entry.getKey()) ) ;
    			}
    		}
    		List<Property> properties = Lists.newArrayList();
			List<Property> properties2 = coursewarePackage.getProperties(); 
			for(Property property:properties2){
				Property property2 = new Property();
				for(Entry<String, String> entry:proMap.entrySet()){
	    			String packField = entry.getKey();
	    			if(packField.indexOf("-")!=-1){
	    				String subProField1 = packField.substring(0, packField.indexOf("-"));
	    				String subProField2 = packField.substring( packField.indexOf("-")+1,packField.length());
	    				ReflectionUtils.setFieldValue(property2, entry.getValue(),ReflectionUtils.getFieldValue(ReflectionUtils.getFieldValue(property, subProField1),subProField2) ) ;
	    			}else{
	    				ReflectionUtils.setFieldValue(property2, entry.getValue(),ReflectionUtils.getFieldValue(property, entry.getKey()) ) ;
	    			}
	    		}
				properties.add(property2);
			}
			wrapper.setProperties(properties);
			wrappers.add(wrapper);
		}
		return wrappers;
    }

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值