当前位置: 首页>>代码示例>>Java>>正文


Java ModuleDescriptor.Builder方法代码示例

本文整理汇总了Java中java.lang.module.ModuleDescriptor.Builder方法的典型用法代码示例。如果您正苦于以下问题:Java ModuleDescriptor.Builder方法的具体用法?Java ModuleDescriptor.Builder怎么用?Java ModuleDescriptor.Builder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.lang.module.ModuleDescriptor的用法示例。


在下文中一共展示了ModuleDescriptor.Builder方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: descriptor

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
private ModuleDescriptor descriptor(Set<Module> requiresTransitive,
                                    Set<Module> requires) {

    ModuleDescriptor.Builder builder = ModuleDescriptor.newModule(root.name());

    if (!root.name().equals(JAVA_BASE))
        builder.requires(Set.of(MANDATED), JAVA_BASE);

    requiresTransitive.stream()
        .filter(m -> !m.name().equals(JAVA_BASE))
        .map(Module::name)
        .forEach(mn -> builder.requires(Set.of(TRANSITIVE), mn));

    requires.stream()
        .filter(m -> !requiresTransitive.contains(m))
        .filter(m -> !m.name().equals(JAVA_BASE))
        .map(Module::name)
        .forEach(mn -> builder.requires(mn));

    return builder.build();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:22,代码来源:ModuleAnalyzer.java

示例2: NormalModule

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Converts the given automatic module to a normal module.
 *
 * Replace this module's dependences with the given requires and also
 * declare service providers, if specified in META-INF/services configuration file
 */
private NormalModule(Module m, Map<String, Boolean> requires) {
    super(m.name(), m.location, m.descriptor, m.exports, m.opens, m.isSystem, m.reader());

    ModuleDescriptor.Builder builder = ModuleDescriptor.newModule(m.name());
    requires.keySet().forEach(mn -> {
        if (requires.get(mn).equals(Boolean.TRUE)) {
            builder.requires(Set.of(ModuleDescriptor.Requires.Modifier.TRANSITIVE), mn);
        } else {
            builder.requires(mn);
        }
    });
    // exports all packages
    m.descriptor.packages().forEach(builder::exports);
    m.descriptor.uses().forEach(builder::uses);
    m.descriptor.provides().forEach(builder::provides);
    this.md = builder.build();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:24,代码来源:Module.java

示例3: descriptorOf

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
private static ModuleDescriptor descriptorOf(ResourcePoolModule mod) {
    ModuleDescriptor md = mod.descriptor();

    // drop hashes
    ModuleDescriptor.Builder builder = ModuleDescriptor.newModule(md.name());
    md.requires().stream()
      .forEach(builder::requires);
    md.exports().stream()
      .forEach(builder::exports);
    md.opens().stream()
      .forEach(builder::opens);
    md.uses().stream()
      .forEach(builder::uses);
    md.provides().stream()
      .forEach(builder::provides);
    builder.packages(md.packages());

    md.version().ifPresent(builder::version);
    md.mainClass().ifPresent(builder::mainClass);

    return builder.build();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:23,代码来源:ResourcePoolConfiguration.java

示例4: newModuleDescriptor

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Parses a string of the form {@code name[@version]} and returns a
 * ModuleDescriptor with that name and version. The ModuleDescriptor
 * will have a requires on java.base.
 */
static ModuleDescriptor newModuleDescriptor(String mid) {
    String mn;
    String vs;
    int i = mid.indexOf("@");
    if (i == -1) {
        mn = mid;
        vs = null;
    } else {
        mn = mid.substring(0, i);
        vs = mid.substring(i+1);
    }
    ModuleDescriptor.Builder builder
        = ModuleDescriptor.newModule(mn).requires("java.base");
    if (vs != null)
        builder.version(vs);
    return builder.build();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:23,代码来源:ModuleFinderTest.java

示例5: createModule

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
private Module createModule(final String moduleName) {
    final Module structMod = context.getStructLoader().getModule();
    final ModuleDescriptor.Builder builder =
        ModuleDescriptor.newModule(moduleName, Set.of(Modifier.SYNTHETIC))
                .requires("java.logging")
                .requires(NASHORN_MODULE.getName())
                .requires(structMod.getName())
                .packages(Set.of(SCRIPTS_PKG));

    if (Context.javaSqlFound) {
        builder.requires("java.sql");
    }

    if (Context.javaSqlRowsetFound) {
        builder.requires("java.sql.rowset");
    }

    final ModuleDescriptor descriptor = builder.build();

    final Module mod = Context.createModuleTrusted(structMod.getLayer(), descriptor, this);
    loadModuleManipulator();
    return mod;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:24,代码来源:ScriptLoader.java

示例6: createModuleDescriptor

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
private static ModuleDescriptor createModuleDescriptor(ModuleNode moduleNode, Path moduleInfoPath) {
  boolean isOpen = (moduleNode.access & ACC_OPEN) != 0;
  ModuleDescriptor.Builder builder = isOpen?
      ModuleDescriptor.newOpenModule(moduleNode.name):
      ModuleDescriptor.newModule(moduleNode.name);
  
  moduleNode.requires.forEach(require -> builder.requires(requireModifiers(require.access), require.module));
  moduleNode.exports.forEach(export -> {
    if (export.modules.isEmpty()) {
      builder.exports(export.packaze);
    } else {
      builder.exports(export.packaze, export.modules.stream().collect(toSet()));
    }
  });
  moduleNode.opens.forEach(open -> {
    if (open.modules.isEmpty()) {
      builder.opens(open.packaze);
    } else {
      builder.opens(open.packaze, open.modules.stream().collect(toSet()));
    }
  });
  moduleNode.uses.forEach(builder::uses);
  moduleNode.provides.forEach(provide -> builder.provides(provide.service, provide.providers));

  Path moduleDirectory = moduleInfoPath.getParent();
  Set<String> javaPackages = findJavaPackages(moduleDirectory);
  javaPackages.removeAll(moduleNode.exports.stream().map(export -> export.packaze).collect(Collectors.toList()));
  javaPackages.removeAll(moduleNode.opens.stream().map(export -> export.packaze).collect(Collectors.toList()));
  builder.packages(javaPackages);

  ModuleDescriptor descriptor = builder.build();
  //System.out.println(descriptor.name() + " " + descriptor.packages());

  return descriptor;
}
 
开发者ID:forax,项目名称:moduletools,代码行数:36,代码来源:ModuleHelper.java

示例7: dropHashes

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
private ModuleDescriptor dropHashes(ModuleDescriptor md) {
    ModuleDescriptor.Builder builder = ModuleDescriptor.newModule(md.name());
    md.requires().forEach(builder::requires);
    md.exports().forEach(builder::exports);
    md.opens().forEach(builder::opens);
    md.provides().stream().forEach(builder::provides);
    md.uses().stream().forEach(builder::uses);
    builder.packages(md.packages());
    return builder.build();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:11,代码来源:JdepsConfiguration.java

示例8: RootModule

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
RootModule(String name) {
    super(name);

    ModuleDescriptor.Builder builder = ModuleDescriptor.newModule(name);
    this.descriptor = builder.build();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:7,代码来源:ModuleExportsAnalyzer.java

示例9: requires

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Adds a dependence on a module with the given (possibly un-parsable)
 * version string.
 */
void requires(ModuleDescriptor.Builder builder,
              Set<Requires.Modifier> ms,
              String mn,
              String rawCompiledVersion);
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:9,代码来源:JavaLangModuleAccess.java

示例10: newBuilder

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Creates a "non-strict" builder for building a module. This allows the
 * test the create ModuleDescriptor objects that do not require java.base.
 */
private static ModuleDescriptor.Builder newBuilder(String mn) {
    return SharedSecrets.getJavaLangModuleAccess()
            .newModuleBuilder(mn, false, Set.of());
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:9,代码来源:ConfigurationTest.java

示例11: newModuleBuilder

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Creates a builder for building a module with the given module name.
 *
 * @param strict
 *        Indicates whether module names are checked or not
 */
ModuleDescriptor.Builder newModuleBuilder(String mn,
                                          boolean strict,
                                          Set<ModuleDescriptor.Modifier> ms);
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:10,代码来源:JavaLangModuleAccess.java

示例12: packages

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Returns a snapshot of the packages in the module.
 */
Set<String> packages(ModuleDescriptor.Builder builder);
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:5,代码来源:JavaLangModuleAccess.java

示例13: transform

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
void transform(ModuleDescriptor.Builder builder); 
开发者ID:forax,项目名称:moduletools,代码行数:2,代码来源:Transformer.java


注:本文中的java.lang.module.ModuleDescriptor.Builder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。