org.apache.felix.utils.manifest.Parser.parseHeader()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(8.2k)|赞(0)|评价(0)|浏览(167)

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

Parser.parseHeader介绍

暂无

代码示例

代码示例来源:origin: apache/karaf

  1. protected void formatHeader(String header, ClauseFormatter formatter, StringBuilder builder, int indent) {
  2. Clause[] clauses = Parser.parseHeader(header);
  3. formatClauses(clauses, formatter, builder, indent);
  4. }

代码示例来源:origin: jboss-fuse/fabric8

  1. protected List<Clause> getOptionalImports(String importsStr) {
  2. Clause[] imports = Parser.parseHeader(importsStr);
  3. List<Clause> result = new LinkedList<Clause>();
  4. for (Clause anImport : imports) {
  5. String resolution = anImport.getDirective(Constants.RESOLUTION_DIRECTIVE);
  6. if (Constants.RESOLUTION_OPTIONAL.equals(resolution)) {
  7. result.add(anImport);
  8. }
  9. }
  10. return result;
  11. }

代码示例来源:origin: org.fusesource.patch/patch-core

  1. protected List<Clause> getOptionalImports(String importsStr) {
  2. Clause[] imports = Parser.parseHeader(importsStr);
  3. List<Clause> result = new LinkedList<Clause>();
  4. for (int i = 0; i < imports.length; i++) {
  5. String resolution = imports[i].getDirective(Constants.RESOLUTION_DIRECTIVE);
  6. if (Constants.RESOLUTION_OPTIONAL.equals(resolution)) {
  7. result.add(imports[i]);
  8. }
  9. }
  10. return result;
  11. }

代码示例来源:origin: org.apache.karaf.bundle/org.apache.karaf.bundle.core

  1. protected void formatHeader(String header, ClauseFormatter formatter, StringBuilder builder, int indent) {
  2. Clause[] clauses = Parser.parseHeader(header);
  3. formatClauses(clauses, formatter, builder, indent);
  4. }

代码示例来源:origin: apache/karaf

  1. protected void formatHeader(String header, ClauseFormatter formatter, StringBuilder builder, int indent) {
  2. Clause[] clauses = Parser.parseHeader(header);
  3. formatClauses(clauses, formatter, builder, indent);
  4. }

代码示例来源:origin: org.fusesource.fabric.fab/fab-osgi

  1. protected void formatHeader(String header, ClauseFormatter formatter, StringBuilder builder, int indent) {
  2. Clause[] clauses = Parser.parseHeader(header);
  3. formatClauses(clauses, formatter, builder, indent);
  4. }

代码示例来源:origin: apache/karaf

  1. /**
  2. * Get the list of imports from the manifest. If no imports have been defined, this method returns an empty list.
  3. *
  4. * @param manifest the manifest
  5. * @return the list of imports
  6. */
  7. public static List<Clause> getImports(Manifest manifest) {
  8. List<Clause> result = new LinkedList<>();
  9. Clause[] clauses = Parser.parseHeader(getHeader(Constants.IMPORT_PACKAGE, manifest));
  10. for (Clause clause : clauses) {
  11. result.add(clause);
  12. }
  13. return result;
  14. }

代码示例来源:origin: apache/karaf

  1. /**
  2. * Get the list of exports from the manifest. If no exports have been defined, this method returns an empty list.
  3. *
  4. * @param manifest the manifest
  5. * @return the list of exports
  6. */
  7. public static List<Clause> getExports(Manifest manifest) {
  8. List<Clause> result = new LinkedList<>();
  9. Clause[] clauses = Parser.parseHeader(getHeader(Constants.EXPORT_PACKAGE, manifest));
  10. for (Clause clause : clauses) {
  11. result.add(clause);
  12. }
  13. return result;
  14. }

代码示例来源:origin: org.apache.karaf.shell/org.apache.karaf.shell.osgi

  1. protected void formatHeader(String header, ClauseFormatter formatter, StringBuilder builder, int indent) {
  2. Clause[] clauses = Parser.parseHeader(header);
  3. formatClauses(clauses, formatter, builder, indent);
  4. }

代码示例来源:origin: org.apache.karaf.subsystem/org.apache.karaf.subsystem.core

  1. protected void formatHeader(String header, ClauseFormatter formatter, StringBuilder builder, int indent) {
  2. Clause[] clauses = Parser.parseHeader(header);
  3. formatClauses(clauses, formatter, builder, indent);
  4. }

代码示例来源:origin: io.fabric8.fab/fab-osgi

  1. protected void formatHeader(String header, ClauseFormatter formatter, StringBuilder builder, int indent) {
  2. Clause[] clauses = Parser.parseHeader(header);
  3. formatClauses(clauses, formatter, builder, indent);
  4. }

代码示例来源:origin: org.apache.karaf.tooling/karaf-maven-plugin

  1. /**
  2. * Get the list of imports from the manifest. If no imports have been defined, this method returns an empty list.
  3. *
  4. * @param manifest the manifest
  5. * @return the list of imports
  6. */
  7. public static List<Clause> getImports(Manifest manifest) {
  8. List<Clause> result = new LinkedList<>();
  9. Clause[] clauses = Parser.parseHeader(getHeader(Constants.IMPORT_PACKAGE, manifest));
  10. for (Clause clause : clauses) {
  11. result.add(clause);
  12. }
  13. return result;
  14. }

代码示例来源:origin: org.apache.felix/org.apache.felix.fileinstall

  1. protected List<Clause> getOptionalImports(String importsStr)
  2. {
  3. Clause[] imports = Parser.parseHeader(importsStr);
  4. List<Clause> result = new LinkedList<Clause>();
  5. for (Clause anImport : imports)
  6. {
  7. String resolution = anImport.getDirective(Constants.RESOLUTION_DIRECTIVE);
  8. if (Constants.RESOLUTION_OPTIONAL.equals(resolution))
  9. {
  10. result.add(anImport);
  11. }
  12. }
  13. return result;
  14. }

代码示例来源:origin: org.apache.karaf.tooling/karaf-maven-plugin

  1. /**
  2. * Get the list of exports from the manifest. If no exports have been defined, this method returns an empty list.
  3. *
  4. * @param manifest the manifest
  5. * @return the list of exports
  6. */
  7. public static List<Clause> getExports(Manifest manifest) {
  8. List<Clause> result = new LinkedList<>();
  9. Clause[] clauses = Parser.parseHeader(getHeader(Constants.EXPORT_PACKAGE, manifest));
  10. for (Clause clause : clauses) {
  11. result.add(clause);
  12. }
  13. return result;
  14. }

代码示例来源:origin: apache/karaf

  1. private void createNodesForImports(Node<Bundle> node, Bundle bundle) {
  2. Clause[] imports = Parser.parseHeader(bundle.getHeaders().get("Import-Package"));
  3. Clause[] exports = Parser.parseHeader(bundle.getHeaders().get("Export-Package"));
  4. for (Clause i : imports) {
  5. boolean exported = false;
  6. for (Clause e : exports) {
  7. if (e.getName().equals(i.getName())) {
  8. exported = true;
  9. break;
  10. }
  11. }
  12. if (!exported) {
  13. createNodeForImport(node, bundle, i);
  14. }
  15. }
  16. }

代码示例来源:origin: org.apache.sling/org.apache.sling.feature.analyser

  1. private List<String> extractInitialContent(final Manifest m) {
  2. final List<String> initialContent = new ArrayList<>();
  3. if ( m != null ) {
  4. final String root = m.getMainAttributes().getValue(CONTENT_HEADER);
  5. if (root != null) {
  6. Clause[] clauses = Parser.parseHeader(root);
  7. for (final Clause entry :clauses) {
  8. String path = entry.getDirective(PATH_DIRECTIVE);
  9. if (path == null) {
  10. path = "/";
  11. } else if (!path.startsWith("/")) {
  12. // make relative path absolute
  13. path = "/" + path;
  14. }
  15. initialContent.add(path);
  16. }
  17. }
  18. }
  19. return initialContent;
  20. }
  21. }

代码示例来源:origin: org.apache.karaf.bundle/org.apache.karaf.bundle.core

  1. private void createNodesForImports(Node<Bundle> node, Bundle bundle) {
  2. Clause[] imports = Parser.parseHeader(bundle.getHeaders().get("Import-Package"));
  3. Clause[] exports = Parser.parseHeader(bundle.getHeaders().get("Export-Package"));
  4. for (Clause i : imports) {
  5. boolean exported = false;
  6. for (Clause e : exports) {
  7. if (e.getName().equals(i.getName())) {
  8. exported = true;
  9. break;
  10. }
  11. }
  12. if (!exported) {
  13. createNodeForImport(node, bundle, i);
  14. }
  15. }
  16. }

代码示例来源:origin: org.apache.sling/org.apache.sling.feature.analyser

  1. private Set<PackageInfo> calculateSystemPackages(final Map<String,String> fwkProps) {
  2. return
  3. Stream.of(
  4. Parser.parseHeader(
  5. Stream.of(
  6. fwkProps.get(Constants.FRAMEWORK_SYSTEMPACKAGES),
  7. fwkProps.get(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA)
  8. ).filter(Objects::nonNull)
  9. .collect(Collectors.joining(","))
  10. )
  11. ).map(
  12. clause -> new PackageInfo(clause.getName(), clause.getAttribute("version") != null ? clause.getAttribute("version") : "0.0.0", false))
  13. .collect(Collectors.toSet());
  14. }

代码示例来源:origin: org.apache.sling/org.apache.sling.feature.analyser

  1. private List<String> extractBundleResources(final Manifest m) {
  2. final List<String> bundleResources = new ArrayList<>();
  3. if ( m != null ) {
  4. final String root = m.getMainAttributes().getValue(BUNDLE_RESOURCE_ROOTS);
  5. if (root != null) {
  6. Clause[] clauses = Parser.parseHeader(root);
  7. for (final Clause entry : clauses) {
  8. final String resourceRoot = entry.getName();
  9. final String pathDirective = entry.getDirective(PATH_DIRECTIVE);
  10. if (pathDirective != null) {
  11. bundleResources.add(resourceRoot + "!" + pathDirective);
  12. } else {
  13. bundleResources.add(resourceRoot);
  14. }
  15. }
  16. }
  17. }
  18. return bundleResources;
  19. }
  20. }

代码示例来源:origin: apache/karaf

  1. private void reformatClauses(Properties config, String key) {
  2. String val = config.getProperty(key);
  3. if (val != null && !val.isEmpty()) {
  4. List<String> comments = config.getComments(key);
  5. Clause[] clauses = org.apache.felix.utils.manifest.Parser.parseHeader(val);
  6. Set<String> strings = new LinkedHashSet<>();
  7. for (Clause clause : clauses) {
  8. strings.add(clause.toString());
  9. }
  10. List<String> lines = new ArrayList<>();
  11. lines.add("");
  12. int index = 0;
  13. for (String string : strings) {
  14. String s = " " + string;
  15. if (index++ < strings.size() - 1) {
  16. s += ", ";
  17. }
  18. lines.add(s);
  19. }
  20. config.put(key, comments, lines);
  21. }
  22. }

相关文章