public boolean handle()

in src/main/java/org/apache/sling/feature/extension/unpack/Unpack.java [69:93]


    public boolean handle(Extension extension, ArtifactProvider provider, BiConsumer<URL, Map<String, Object>> handler) {
        if (extension.getType() == ExtensionType.ARTIFACTS &&
            this.registry.containsKey(extension.getName())) {
            String dir = this.registry.get(extension.getName()).get("dir");
            boolean override = Boolean.parseBoolean(this.registry.get(extension.getName()).get("override"));
            String key = this.registry.get(extension.getName()).get("key");
            String value = this.registry.get(extension.getName()).get("value");
            String index = this.registry.get(extension.getName()).get("index");

            for (Artifact artifact : extension.getArtifacts()) {
                Map<String, Object> context = new HashMap<>();
                context.put("artifact.id", artifact.getId().toMvnId());
                context.put("dir", dir);
                context.put("override", Boolean.toString(override));
                context.put("key", key);
                context.put("value", value);
                context.put("index", index);
                URL url = provider.provide(artifact.getId());
                handler.accept(url, context);
            }
            return true;
        } else {
            return false;
        }
    }