public static ResourceType parseResourceType()

in src/main/java/org/apache/sling/api/resource/type/ResourceType.java [117:142]


    public static ResourceType parseResourceType(@NotNull String resourceTypeString) {
        String type = StringUtils.EMPTY;
        Version version = null;
        if (StringUtils.isNotEmpty(resourceTypeString)) {
            int lastSlash = resourceTypeString.lastIndexOf('/');
            if (lastSlash != -1 && !resourceTypeString.endsWith("/")) {
                String versionString = resourceTypeString.substring(lastSlash + 1);
                if (versionPattern.matcher(versionString).matches()) {
                    try {
                        version = Version.parseVersion(versionString);
                        type = resourceTypeString.substring(0, lastSlash);
                    } catch (IllegalArgumentException e) {
                        type = resourceTypeString;
                    }
                } else {
                    type = resourceTypeString;
                }
            } else {
                type = resourceTypeString;
            }
        }
        if (StringUtils.isEmpty(type)) {
            throw new IllegalArgumentException(String.format("Cannot extract a type for the resourceTypeString %s.", resourceTypeString));
        }
        return new ResourceType(type, version);
    }