org.apache.sling.api.resource.Resource.getChildren()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(106)

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

Resource.getChildren介绍

[英]Returns an iterable of the direct children of this resource.

This method is a convenience and returns exactly the same resources as calling getResourceResolver().getChildren(resource).
[中]返回此资源的直接子级的iterable。
此方法非常方便,返回的资源与调用getResourceResolver().getChildren(resource)时完全相同。

代码示例

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

/**
 * @see org.apache.sling.api.resource.Resource#getChildren()
 */
@Override
public Iterable<Resource> getChildren() {
  return getResource().getChildren();
}

代码示例来源:origin: org.apache.sling/org.apache.sling.testing.hamcrest

@Override
protected void describeMismatchSafely(Resource item, Description mismatchDescription) {
  // the default would be something like ".. but item 0 was <Resource.toString()>"
  // use the iterable matcher here instead
  iterarableMatcher.describeMismatch(item.getChildren(), mismatchDescription);
}

代码示例来源:origin: org.apache.sling/org.apache.sling.servlets.resolver

/**
 * @see org.apache.sling.api.resource.AbstractResource#getChildren()
 */
@Override
public Iterable<Resource> getChildren() {
  return this.getActiveResource().getChildren();
}

代码示例来源:origin: io.wcm/io.wcm.wcm.ui.granite

/**
 * Wrap a real resource and create a synthetic resource out of it.
 * @param resource Real resource
 * @param valueMap Properties to use instead of the real properties
 * @return Resource
 */
public static Resource wrap(@NotNull Resource resource, @NotNull ValueMap valueMap) {
 return wrap(resource, valueMap, resource.getChildren());
}

代码示例来源:origin: Adobe-Consulting-Services/acs-aem-commons

/**
 * @return list of all the Payloads in the PayloadGroup.
 */
public List<Payload> getPayloads() {
  List<Payload> payloads = new ArrayList<Payload>();
  for (Resource r : resource.getChildren()) {
    Payload payload = r.adaptTo(Payload.class);
    if (payload != null) {
      payloads.add(payload);
    }
  }
  return payloads;
}

代码示例来源:origin: Adobe-Consulting-Services/acs-aem-commons

@PostConstruct
private void readErrors() {
  Resource failuresRoot = resource.getChild("failures");
  if (failuresRoot != null && failuresRoot.hasChildren()) {
    List<ArchivedProcessFailure> failures = new ArrayList<>();
    failuresRoot.getChildren().forEach(step->
        step.getChildren().forEach(f -> 
            failures.add(f.adaptTo(ArchivedProcessFailure.class))
        )
    );
    setReportedErrors(failures);
  }
}

代码示例来源:origin: io.wcm/io.wcm.wcm.ui.granite

/**
 * Wrap a real resource and create a synthetic resource out of it.
 * @param resource Real resource
 * @return Resource
 */
public static Resource wrap(@NotNull Resource resource) {
 return wrap(resource, resource.getValueMap(), resource.getChildren());
}

代码示例来源:origin: adobe/aem-core-wcm-components

@Override
public Iterable<Resource> getFormElements(Resource resource) {
  final List<Resource> list = new ArrayList<>();
  if (isFormContainer(resource)) {
    for (Resource child : resource.getChildren()) {
      filterFormElements(child, list);
    }
  }
  return list;
}

代码示例来源:origin: adobe/aem-core-wcm-components

private <T> Map<String, T> getChildrenModels(@Nonnull SlingHttpServletRequest request, @Nonnull Class<T>
      modelClass) {
    Map<String, T> models = new LinkedHashMap<>();
    for (Resource child : slingModelFilter.filterChildResources(resource.getChildren())) {
      T model = modelFactory.getModelFromWrappedRequest(request, child, modelClass);
      if (model != null) {
        models.put(child.getName(), model);
      }
    }
    return models;
  }
}

代码示例来源:origin: Adobe-Consulting-Services/acs-aem-commons

public List<Rendition> getRenditions(Asset asset) {
  Resource renditions = frozenResource.getChild(RENDITIONS_PATH);
  if (renditions == null) {
    return Lists.newArrayList();
  }
  List<Rendition> rv = Lists.newArrayList();
  for (Resource r : renditions.getChildren()) {
    rv.add(getRendition(asset, r.getName()));
  }
  return rv;
}

代码示例来源:origin: Adobe-Consulting-Services/acs-aem-commons

/**
 * @return the next payload eligible for processing. null if none exist.
 */
public Payload getNextPayload() {
  for (Resource r : resource.getChildren()) {
    Payload payload = r.adaptTo(Payload.class);
    if (payload != null && !payload.isOnboarded()) {
      return payload;
    }
  }
  return null;
}

代码示例来源:origin: com.cognifide.slice/slice-persistence

protected void removeExistingChildren(Resource parent) throws PersistenceException {
    final ResourceResolver resourceResolver = parent.getResourceResolver();
    for (Resource resource : parent.getChildren()) {
      resourceResolver.delete(resource);
    }
  }
}

代码示例来源:origin: com.adobe.acs/acs-aem-commons-bundle

/**
 * @return the next payload eligible for processing. null if none exist.
 */
public Payload getNextPayload() {
  for (Resource r : resource.getChildren()) {
    Payload payload = r.adaptTo(Payload.class);
    if (payload != null && !payload.isOnboarded()) {
      return payload;
    }
  }
  return null;
}

代码示例来源:origin: org.apache.sling/org.apache.sling.distribution.core

@Override
public List<DistributionConfiguration> getConfigs(ResourceResolver resolver, DistributionComponentKind kind) {
  List<DistributionConfiguration> configurations = new ArrayList<DistributionConfiguration>();
  Resource configRoot = resolver.getResource(configRootPath);
  if (configRoot == null) {
    return new ArrayList<DistributionConfiguration>();
  }
  for (Resource configResource : configRoot.getChildren()) {
    Map<String, Object> configMap = getFilteredMap(configResource);
    configurations.add(new DistributionConfiguration(kind, configResource.getName(), configMap));
  }
  return configurations;
}

代码示例来源:origin: adobe/aem-core-wcm-components

private void filterFormElements(Resource resource, List<Resource> list) {
  if (isFormResource(resource) && !isButtonElement(resource)) {
    list.add(resource);
  } else {
    for (Resource child : resource.getChildren()) {
      filterFormElements(child, list);
    }
  }
}

代码示例来源:origin: Adobe-Consulting-Services/acs-aem-commons

private Collection<Resource> getSortedAndFilteredFolders(Resource folderResource) {
  final Collection<Resource> sortedCollection = new TreeSet(new WorkflowInstanceFolderComparator());
  for (Resource folder : folderResource.getChildren()) {
    // Only process sling:Folders; eg. skip rep:Policy, serverN folders
    if (folder.isResourceType(NT_SLING_FOLDER) && !isWorkflowServerFolder(folder)) {
      sortedCollection.add(folder);
    }
  }
  return sortedCollection;
}

代码示例来源:origin: com.adobe.acs/acs-aem-commons-bundle

private Collection<Resource> getSortedAndFilteredFolders(Resource folderResource) {
  final Collection<Resource> sortedCollection = new TreeSet(new WorkflowInstanceFolderComparator());
  for (Resource folder : folderResource.getChildren()) {
    // Only process sling:Folders; eg. skip rep:Policy, serverN folders
    if (folder.isResourceType(NT_SLING_FOLDER) && !isWorkflowServerFolder(folder)) {
      sortedCollection.add(folder);
    }
  }
  return sortedCollection;
}

代码示例来源:origin: org.apache.sling/org.apache.sling.event.dea

public void delete(final Resource rsrc)
  throws PersistenceException {
    final ResourceResolver resolver = rsrc.getResourceResolver();
    for(final Resource child : rsrc.getChildren()) {
      delete(child);
    }
    resolver.delete(rsrc);
    count++;
    if ( count >= max ) {
      resolver.commit();
      count = 0;
    }
  }
}

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

private void copy(final ResourceResolverContext context, final Resource src, final String dstPath, final List<Resource> newNodes) throws PersistenceException {
  final ValueMap vm = src.getValueMap();
  final String createPath = new PathBuilder(dstPath).append(src.getName()).toString();
  newNodes.add(this.create(context, createPath, vm));
  for(final Resource c : src.getChildren()) {
    copy(context, c, createPath, newNodes);
  }
}

代码示例来源:origin: org.apache.sling/org.apache.sling.servlets.post

/**
   * Copy the source as a child resource to the parent
   */
  private Resource copy(final Resource source, final Resource dest)
  throws PersistenceException {
    final ValueMap vm = source.getValueMap();
    final Resource result = source.getResourceResolver().create(dest, source.getName(), vm);
    for(final Resource c : source.getChildren()) {
      copy(c, result);
    }
    return result;
  }
}

相关文章