Interface BaseResourceName<T,E extends Exception>

Type Parameters:
T - The type that the compare method is going to return instances of.
E - The exception type thrown by the canonicalize method.
All Known Subinterfaces:
ResourceName, ResourceName

@SupportedAll public interface BaseResourceName<T,E extends Exception>
The interface ResourceName provides methods to determine the hierarchy of resource names. It provides methods to compare resources, get sub resources etc. Also it provides an interface to determine the service type to which it be used. Service developers could provide an implementation of this interface that will determine its hierarchy during policy evaluation and also its display in the GUI. A class that implements this interface must have a empty constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    append(String superResource, String subResource)
    Appends sub-resource to super-resource.
    Gets the canonicalized form of a resource string.
    compare(String origRes, String compRes, boolean wildcardCompare)
    Compares two resources.
    Returns the service type names for which the resource name object can be used.
    getSubResource(String res, String superRes)
    Gets sub-resource from an original resource minus a super resource.
    void
    initialize(Map configParams)
    Initializes the resource name with configuration information, usually set by the administrators.
    Method to split a resource into the smallest necessary sub resource units.
  • Method Details

    • getServiceTypeNames

      Set<String> getServiceTypeNames()
      Returns the service type names for which the resource name object can be used.
      Returns:
      service type names for which the resource comparator can be used
    • initialize

      void initialize(Map configParams)
      Initializes the resource name with configuration information, usually set by the administrators.
      Parameters:
      configParams - configuration parameters as a map. The keys of the map are the configuration parameters. Each key is corresponding to one String value which specifies the configuration parameter value.
    • compare

      T compare(String origRes, String compRes, boolean wildcardCompare)
      Compares two resources.
      Parameters:
      origRes - name of the resource which will be compared
      compRes - name of the resource which will be compared with
      wildcardCompare - flag for wildcard comparison
      Returns:
      returns ResourceMatch that specifies if the resources are exact match, or otherwise.
      • ResourceMatch.NO_MATCH means two resources do not match
      • ResourceMatch.EXACT_MATCH means two resources match
      • ResourceMatch.SUB_RESOURCE_MATCH means compRes is the sub resource of the origRes
      • ResourceMatch.SUPER_RESOURCE_MATCH means compRes is the super resource of the origRes
      • ResourceMatch.WILDCARD_MATCH means two resources match with respect to the wildcard
    • append

      String append(String superResource, String subResource)
      Appends sub-resource to super-resource.
      Parameters:
      superResource - name of the super-resource to be appended to.
      subResource - name of the sub-resource to be appended.
      Returns:
      returns the combination resource.
    • getSubResource

      String getSubResource(String res, String superRes)
      Gets sub-resource from an original resource minus a super resource. This is the complementary method of append().
      Parameters:
      res - name of the original resource consisting of the second parameter superRes and the returned value
      superRes - name of the super-resource which the first parameter begins with.
      Returns:
      returns the sub-resource which the first parameter ends with. If the first parameter does not begin with the the first parameter, then the return value is null.
    • canonicalize

      String canonicalize(String res) throws E
      Gets the canonicalized form of a resource string.
      Parameters:
      res - the resource string to be canonicalized
      Returns:
      the resource string in its canonicalized form.
      Throws:
      E - if resource string is invalid
    • split

      String[] split(String res)
      Method to split a resource into the smallest necessary sub resource units.
      Parameters:
      res - name of the resource to be split
      Returns:
      returns the array of sub-resources, with the first element being what the original resource begins with, and the last one being what it ends with