Class Grant

  • All Implemented Interfaces:
    AbacSupport, Principal
    Direct Known Subclasses:
    Role

    public class Grant
    extends Object
    implements AbacSupport, Principal
    A concept representing anything that can be granted to a subject. This may be:
    • role
    • scope
    • permission
    • anything else grantable, including additional principals
    • Constructor Detail

      • Grant

        protected Grant​(Grant.Builder<?> builder)
        Create an instance based on a builder.
        Parameters:
        builder - builder instance
    • Method Detail

      • builder

        public static Grant.Builder<?> builder()
        Creates a fluent API builder to build new instances of this class.
        Returns:
        builder instance
      • abacAttributeRaw

        public Object abacAttributeRaw​(String key)
        Description copied from interface: AbacSupport
        Return the actual property value or null if not present. This is the only method that needs to be implemented.
        Specified by:
        abacAttributeRaw in interface AbacSupport
        Parameters:
        key - key (name) of the property
        Returns:
        value of the property or null
      • type

        public String type()
        Type of this grant. Known types:
        • "role" - represents a role grant, also a dedicated class is created for this type: Role
        • "scope" - represents a OAuth2 scope grant
        Returns:
        type of the grant
      • origin

        public String origin()
        Origin of this grant - this may be an arbitrary string, URI, component creating it etc.
        Returns:
        origin of this grant