aQute.bnd.osgi.Builder.getRequireCapability()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(2.9k)|赞(0)|评价(0)|浏览(122)

本文整理了Java中aQute.bnd.osgi.Builder.getRequireCapability()方法的一些代码示例,展示了Builder.getRequireCapability()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Builder.getRequireCapability()方法的具体详情如下:
包路径:aQute.bnd.osgi.Builder
类名称:Builder
方法名:getRequireCapability

Builder.getRequireCapability介绍

暂无

代码示例

代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib

@Override
  public void generate(StringBuilder sb, Builder builder) {
    for (String namespace : builder.getProvideCapability()
      .keySet()) {
      if (!Processor.isDuplicate(namespace)) {
        sb.append("(org.osgi.framework.CapabilityPermission \"")
          .append(namespace)
          .append("\" \"provide\")\n");
      }
    }
    for (String namespace : builder.getRequireCapability()
      .keySet()) {
      if (!Processor.isDuplicate(namespace)) {
        sb.append("(org.osgi.framework.CapabilityPermission \"")
          .append(namespace)
          .append("\" \"require\")\n");
      }
    }
  }
},

代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib

public static Set<String> getReferencedServices(Builder builder) {
  Set<String> referencedServices = new TreeSet<>();
  for (Entry<String, Attrs> entry : builder.getRequireCapability()
    .entrySet()) {
    if (Processor.removeDuplicateMarker(entry.getKey())
      .equals("osgi.service")) {
      Attrs attrs = entry.getValue();
      String filter = attrs.get("filter:");
      if (filter != null && !filter.isEmpty()) {
        FilterParser filterParser = new FilterParser();
        Expression expr = filterParser.parse(filter);
        referencedServices.addAll(expr.visit(new FindReferencedServices()));
      }
    }
  }
  if (referencedServices.contains(MATCH_ALL)) {
    return Collections.singleton(MATCH_ALL);
  } else {
    return referencedServices;
  }
}

代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd

@Override
  public void generate(StringBuilder sb, Builder builder) {
    for (String namespace : builder.getProvideCapability()
      .keySet()) {
      if (!Processor.isDuplicate(namespace)) {
        sb.append("(org.osgi.framework.CapabilityPermission \"")
          .append(namespace)
          .append("\" \"provide\")\n");
      }
    }
    for (String namespace : builder.getRequireCapability()
      .keySet()) {
      if (!Processor.isDuplicate(namespace)) {
        sb.append("(org.osgi.framework.CapabilityPermission \"")
          .append(namespace)
          .append("\" \"require\")\n");
      }
    }
  }
},

代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd

public static Set<String> getReferencedServices(Builder builder) {
  Set<String> referencedServices = new TreeSet<>();
  for (Entry<String, Attrs> entry : builder.getRequireCapability()
    .entrySet()) {
    if (Processor.removeDuplicateMarker(entry.getKey())
      .equals("osgi.service")) {
      Attrs attrs = entry.getValue();
      String filter = attrs.get("filter:");
      if (filter != null && !filter.isEmpty()) {
        FilterParser filterParser = new FilterParser();
        Expression expr = filterParser.parse(filter);
        referencedServices.addAll(expr.visit(new FindReferencedServices()));
      }
    }
  }
  if (referencedServices.contains(MATCH_ALL)) {
    return Collections.singleton(MATCH_ALL);
  } else {
    return referencedServices;
  }
}

相关文章

Builder类方法