public boolean isResourceType()

in src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java [402:432]


    public boolean isResourceType(Resource resource, String resourceType) {
        boolean result = false;
        if (resource != null && resourceType != null) {
            // Check if the resource is of the given type. This method first checks the
            // resource type of the resource, then its super resource type and continues
            //  to go up the resource super type hierarchy.
            if (ResourceTypeUtil.areResourceTypesEqual(resourceType, resource.getResourceType(), getSearchPath())) {
                result = true;
            } else {
                Set<String> superTypesChecked = new HashSet<>();
                String superType = this.getParentResourceType(resource);
                while (!result && superType != null) {
                    if (ResourceTypeUtil.areResourceTypesEqual(resourceType, superType, getSearchPath())) {
                        result = true;
                    } else {
                        superTypesChecked.add(superType);
                        superType = this.getParentResourceType(superType);
                        if (superType != null && superTypesChecked.contains(superType)) {
                            throw new SlingException(
                                    "Cyclic dependency for resourceSuperType hierarchy detected on resource "
                                            + resource.getPath()) {
                                // anonymous class to avoid problem with null cause
                                private static final long serialVersionUID = 1L;
                            };
                        }
                    }
                }
            }
        }
        return result;
    }