import org.kametic.specifications.Specification; //导入依赖的package包/类

@SuppressWarnings({"rawtypes", "unchecked"})

@Override

public InitState initialize(InitContext initContext) {

Map>> classesBySpec = initContext.scannedTypesBySpecification();

streamClasses(classesBySpec.get(BusinessSpecifications.DATA_IMPORTER), DataImporter.class)

.filter(importerClass -> !DefaultDataImporter.class.isAssignableFrom(importerClass))

.forEach(importerClasses::add);

LOGGER.debug("Data importers => {}", importerClasses);

streamClasses(classesBySpec.get(BusinessSpecifications.DATA_EXPORTER), DataExporter.class)

.filter(exporterClass -> !DefaultDataExporter.class.isAssignableFrom(exporterClass))

.forEach(exporterClasses::add);

LOGGER.debug("Data exporters => {}", exporterClasses);

streamClasses(classesBySpec.get(BusinessSpecifications.DATA_SET), Object.class).forEach(

dataClasses::add);

LOGGER.debug("DTO classes with default importer/exporter => {}", dataClasses);

// Add bindings for explicit data importers/exporters

bindings.putAll(associateInterfaceToImplementations(DataImporter.class, importerClasses, false));

overridingBindings.putAll(associateInterfaceToImplementations(DataImporter.class, importerClasses, true));

bindings.putAll(associateInterfaceToImplementations(DataExporter.class, exporterClasses, false));

overridingBindings.putAll(associateInterfaceToImplementations(DataExporter.class, exporterClasses, true));

Set> classesWithExplicitImporter = importerClasses.stream()

.map(importerClass -> (Class>) BusinessUtils.resolveGenerics(DataImporter.class, importerClass)[0])

.collect(toSet());

Set> classesWithExplicitExporter = exporterClasses.stream()

.map(exporterClass -> (Class>) BusinessUtils.resolveGenerics(DataExporter.class, exporterClass)[0])

.collect(toSet());

// Then add bindings for default data importers/exporters

bindingStrategies.addAll(new DefaultDataCollector(classesWithExplicitImporter, classesWithExplicitExporter)

.collect(dataClasses));

buildImporterDefs(classesWithExplicitImporter);

buildExporterDefs(classesWithExplicitExporter);

return InitState.INITIALIZED;

}

specification java_Java Specification类代码示例相关推荐

  1. record java_Java Record类代码示例

    import org.zephyr.data.Record; //导入依赖的package包/类 /** * This method takes in a List of orderedPairing ...

  2. ushort java_Java UShort类代码示例

    import org.joou.UShort; //导入依赖的package包/类 @Nullable @RequiredReadAction public static DotNetTypeRef ...

  3. mimemessage类是什么_Java MimeMessage类代码示例

    本文整理汇总了Java中javax.mail.internet.MimeMessage类的典型用法代码示例.如果您正苦于以下问题:Java MimeMessage类的具体用法?Java MimeMes ...

  4. java代码查询索引文件实例_关于使用pdfbox的对PDF文件通过lucene生成索引文件IndexPDFFiles类代码示例...

    一.前言 下面通过pdfbox的pdfbox-2.0.9源码中org.apache.pdfbox.examples.lucene.IndexPDFFiles索引PDF文件生成类,基于apache的lu ...

  5. JAVA WEB之XSS防御工具类代码示例

    简述 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆.因此,有人将跨站脚本攻击缩写 ...

  6. 自定义数组操作工具类代码示例

    自定义一个操作数据的工具类,其实工具类的编写很简单,将方法静态化,将构造方法私有化就可以了. 工具类代码: class MyArrays{private MyArrays() {}/** 返回数组中最 ...

  7. java jackson jobject_Scala JObject类代码示例

    //设置package包名称以及导入依赖的类 package com.yukimt.scrape.element import org.specs2.mutable.Specification imp ...

  8. Java axis 配置host_Java AxisProperties类代码示例

    import org.apache.axis.AxisProperties; //导入依赖的package包/类 private StringBuilder getDefaultClasspath() ...

  9. java中utilities类_Java PHUtilities类代码示例

    import com.philips.lighting.hue.sdk.utilities.PHUtilities; //导入依赖的package包/类 private void setLampSta ...

  10. java dataconvert_Java DateConverter类代码示例

    import org.apache.commons.beanutils.converters.DateConverter; //导入依赖的package包/类 /** * Register array ...

最新文章

  1. FeignClient源码深度解析
  2. 【原】Java学习笔记030 - 异常
  3. spring cloud gateway中解决第一次请求失败的问题
  4. DOSBOX使用的一些方法和注意点(汇编实验中遇到的)
  5. 《01》ECMAScript 6 简介
  6. postman 无法正常返回结果 Could not get any response
  7. 某些微型计算机使用Pentium,2010四川省计算机等级考试二级理论考试试题及答案...
  8. 24K 内存上诞生的操作系统,是如何改变计算机世界的?
  9. 监听独立于数据库服务器的配置,解决ORA-12520及ORA-12545错误
  10. java list map 效率_遍历Map和List的几种方法和性能比较
  11. shell中算术运算、相加减
  12. AutoSar和OSEK网络管理比较
  13. 手撸一个外卖点餐系统后台,可以写上简历的实战项目!
  14. android qq 登录 qq号,手机QQ异常登录怎么办 QQ帐号无法登录解决办法
  15. Java代理模式及其应用
  16. 发布海外媒体稿件更好帮助企业海外营销推广
  17. 小虫子的冒险_Python迷宫类型游戏
  18. Qt5:报错error: ‘tr‘ was not declared in this scop
  19. 支撑 100Gbit/s K8s 集群的未来网络数据平面
  20. 打印机用计算机名慢,“电脑连上打印机就超级慢”的解决方案

热门文章

  1. Linux命令学习(1) cat命令详解
  2. 显示器色彩精度测试软件,色域及色彩精准度测试_液晶显示器_液晶显示器评测-中关村在线...
  3. html tr行内样式左对齐,探索CSS单行文字居中,多行文字居左的实现方式
  4. mybatis之 trim prefix=( suffix=)
  5. 学习字节跳动的团队管理
  6. 江苏小高考计算机知识点,江苏文科小高考哪几门 考试内容是什么
  7. OH!硬件!—— 开源硬件平台OSHWHub介绍
  8. 1、什么是公众号appid?
  9. Linux之压缩解压缩
  10. 35岁学太极系列(1)-缘起功夫梦