Class ResourceType

java.lang.Object
org.apache.sling.api.resource.type.ResourceType

public final class ResourceType extends Object
The ResourceType encapsulates details about a Sling resource type and provides methods for parsing resource type strings.

The following patterns are supported for parsing:

  1. a/b/c - path-based
  2. a/b/c/1.0.0 - path-based, versioned
  3. a.b.c - Java package name
  4. a.b.c/1.0.0 - Java package name, versioned
  5. a - flat (sub-set of path-based)
  • Method Details

    • getResourceLabel

      @NotNull public @NotNull String getResourceLabel()
      Returns a resource type's label. The label is important for script selection, since it will provide the name of the main script for this resource type. For more details check the Apache Sling URL to Script Resolution page
      Returns:
      the resource type label
    • getType

      @NotNull public @NotNull String getType()
      Returns the resource type string, without any version information.
      Returns:
      the resource type string
    • getVersion

      @Nullable public @Nullable org.osgi.framework.Version getVersion()
      Returns the version, if available.
      Returns:
      the version, if available; null otherwise
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • parseResourceType

      @NotNull public static @NotNull ResourceType parseResourceType(@NotNull @NotNull String resourceTypeString)
      Given a resourceTypeString, this method will extract a ResourceType object.

      The accepted patterns are:

      1. a/b/c - path-based
      2. a/b/c/1.0.0 - path-based, versioned
      3. a.b.c - Java package name
      4. a.b.c/1.0.0 - Java package name, versioned
      5. a - flat (sub-set of path-based)
      Parameters:
      resourceTypeString - the resource type string to parse
      Returns:
      a ResourceType object
      Throws:
      IllegalArgumentException - if the resourceTypeString cannot be parsed
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object