This interface is to be implemented by the objects/resources that want to
participate in the implicit resource grouping based on attributes. The implicit
resource grouping is used in access control. An example would be the Order resource
which the access control rules differ based on the "Status" attribute on the Order resource.
So the order resource will implement Groupable interface and provide an implementation for
the getGroupingAttributeValue method which would understand the "Status" attribute.