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 interfaceResourceName
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
append(String superResource, String subResource)
Appends sub-resource to super-resource.String
canonicalize(String res)
Gets the canonicalized form of a resource string.T
compare(String origRes, String compRes, boolean wildcardCompare)
Compares two resources.Set<String>
getServiceTypeNames()
Returns the service type names for which the resource name object can be used.String
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.String[]
split(String res)
Method to split a resource into the smallest necessary sub resource units.
-
-
-
Method Detail
-
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 oneString
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 comparedcompRes
- name of the resource which will be compared withwildcardCompare
- 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 matchResourceMatch.EXACT_MATCH
means two resources matchResourceMatch.SUB_RESOURCE_MATCH
meanscompRes
is the sub resource of theorigRes
ResourceMatch.SUPER_RESOURCE_MATCH
meanscompRes
is the super resource of theorigRes
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 parametersuperRes
and the returned valuesuperRes
- 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 extends Exception
Gets the canonicalized form of a resource string.
-
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
-
-