- java.lang.Object
-
- io.helidon.security.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Grant.Builder<T extends Grant.Builder<T>>
-
Nested classes/interfaces inherited from interface io.helidon.security.util.AbacSupport
AbacSupport.BasicAttributes
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Grant(Grant.Builder<?> builder)
Create an instance based on a builder.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<String>
abacAttributeNames()
A collection of all property names in this container.Object
abacAttributeRaw(String key)
Return the actual property value or null if not present.static Grant.Builder<?>
builder()
Creates a fluent API builder to build new instances of this class.boolean
equals(Object o)
String
getName()
int
hashCode()
String
origin()
Origin of this grant - this may be an arbitrary string, URI, component creating it etc.String
toString()
String
type()
Type of this grant.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.helidon.security.util.AbacSupport
abacAttribute
-
-
-
-
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 interfaceAbacSupport
- Parameters:
key
- key (name) of the property- Returns:
- value of the property or null
-
abacAttributeNames
public Collection<String> abacAttributeNames()
Description copied from interface:AbacSupport
A collection of all property names in this container.- Specified by:
abacAttributeNames
in interfaceAbacSupport
- Returns:
- collection of keys
-
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
- "role" - represents a role grant, also a dedicated class is created for this type:
-
toString
public String toString()
-
origin
public String origin()
Origin of this grant - this may be an arbitrary string, URI, component creating it etc.- Returns:
- origin of this grant
-
equals
public boolean equals(Object o)
-
-