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


Java ModuleDescriptor.isAutomatic方法代码示例

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


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

示例1: toBuilder

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
private static Builder toBuilder(ModuleDescriptor descriptor) {
  String name = descriptor.name();
  Set<Modifier> modifiers = descriptor.isAutomatic()? Set.of(Modifier.AUTOMATIC):
    descriptor.isOpen()? Set.of(Modifier.OPEN): Set.of();
  Builder builder = ModuleDescriptor.newModule(name, modifiers);
  
  descriptor.requires().forEach(builder::requires);
  descriptor.exports().forEach(builder::exports);
  descriptor.opens().forEach(builder::opens);
  
  HashSet<String> packages = new HashSet<>(descriptor.packages());
  descriptor.exports().forEach(export -> packages.remove(export.source()));
  descriptor.opens().forEach(open -> packages.remove(open.source()));
  builder.packages(packages);
  
  descriptor.uses().forEach(builder::uses);
  descriptor.provides().forEach(builder::provides);
  
  return builder;
}
 
开发者ID:forax,项目名称:moduletools,代码行数:21,代码来源:Main.java

示例2: Module

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Creates a new named Module. The resulting Module will be defined to the
 * VM but will not read any other modules, will not have any exports setup
 * and will not be registered in the service catalog.
 */
Module(ModuleLayer layer,
       ClassLoader loader,
       ModuleDescriptor descriptor,
       URI uri)
{
    this.layer = layer;
    this.name = descriptor.name();
    this.loader = loader;
    this.descriptor = descriptor;

    // define module to VM

    boolean isOpen = descriptor.isOpen() || descriptor.isAutomatic();
    Version version = descriptor.version().orElse(null);
    String vs = Objects.toString(version, null);
    String loc = Objects.toString(uri, null);
    String[] packages = descriptor.packages().toArray(new String[0]);
    defineModule0(this, isOpen, vs, loc, packages);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:25,代码来源:Module.java

示例3: isOpen

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Returns true if the given module opens the given package
 * unconditionally.
 *
 * @implNote This method currently iterates over each of the open
 * packages. This will be replaced once the ModuleDescriptor.Opens
 * API is updated.
 */
private boolean isOpen(ModuleReference mref, String pn) {
    ModuleDescriptor descriptor = mref.descriptor();
    if (descriptor.isOpen() || descriptor.isAutomatic())
        return true;
    for (ModuleDescriptor.Opens opens : descriptor.opens()) {
        String source = opens.source();
        if (!opens.isQualified() && source.equals(pn)) {
            return true;
        }
    }
    return false;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,代码来源:Loader.java

示例4: showModule

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Prints a single line with the module name, version and modifiers
 */
private static void showModule(ModuleReference mref) {
    ModuleDescriptor md = mref.descriptor();
    ostream.print(md.toNameAndVersion());
    mref.location()
            .filter(uri -> !isJrt(uri))
            .ifPresent(uri -> ostream.format(" %s", uri));
    if (md.isOpen())
        ostream.print(" open");
    if (md.isAutomatic())
        ostream.print(" automatic");
    ostream.println();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:16,代码来源:LauncherHelper.java

示例5: printModule

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
/**
 * Prints the module location and name.
 */
private void printModule(ModuleReference mref) {
    mref.location()
        .filter(uri -> !isJrt(uri))
        .ifPresent(uri -> ostream.print(uri + " "));
    ModuleDescriptor descriptor = mref.descriptor();
    ostream.print(descriptor.name());
    if (descriptor.isAutomatic())
        ostream.print(" automatic");
    ostream.println();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:14,代码来源:LauncherHelper.java

示例6: ModuleDescriptorBuilder

import java.lang.module.ModuleDescriptor; //导入方法依赖的package包/类
ModuleDescriptorBuilder(ModuleDescriptor md, Set<String> packages, int index) {
    if (md.isAutomatic()) {
        throw new InternalError("linking automatic module is not supported");
    }
    this.md = md;
    this.packages = packages;
    this.index = index;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:9,代码来源:SystemModulesPlugin.java


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