Interface AttributeOrAttributeValue<A>
- All Known Subinterfaces:
AttributeValue
- All Known Implementing Classes:
Address,Attribute,AuthenticationSessionAttribute,AuthorizationActionAttributes,AuthorizationResourceAttributes,BinaryAttributeValue,ComplexAttribute,ComplexAttributeValue,ContextAttributes,Device,Email,Entitlement,GraphQLAuthorizationActionAttributes,GraphQLAuthorizationResourceAttributes,Group,InstantMessaging,LinkedAccount,ListAttributeValue,MapAttributeValue,Meta,MultiValuedAttributeValue,Name,NullAttributeValue,OAuthAuthorizationActionAttributes,OAuthAuthorizationResourceAttributes,PhoneNumber,Photo,PrimitiveAttributeValue,PrimitiveAttributeValue.StringAttributeValue,Role,ScimAuthorizationActionAttributes,ScimAuthorizationResourceAttributes,SubjectAttributes,X509Certificates
public interface AttributeOrAttributeValue<A>
Most generic type of the attributes framework.
As attributes and their values form a complex tree structure, it is very useful to be able to implement recursive
tree algorithms which can act on both Attribute and AttributeValue instances, uniformly.
This type is necessary for that to be possible.
-
Method Summary
Modifier and TypeMethodDescriptiongetValue()map(String path, AttributeOrAttributeValueTransformer transform) Apply the provided transformation on eachAttributeandAttributeValuein this attribute tree, recursively.static StringwithoutIndexOnPath(String path)
-
Method Details
-
withoutIndexOnPath
- Parameters:
path- of an attribute- Returns:
- the equivalent path, but without any indexes that may be added when mapping over multi-valued attributes.
-
map
Apply the provided transformation on eachAttributeandAttributeValuein this attribute tree, recursively.- Parameters:
path- of the current attribute or value being transformed.transform- transformation function.- Returns:
- the transformed attribute or value
-
getValue
- Returns:
- the value of this entity.
-
getValueWithMetadata
- Returns:
- the value of this entity, including any metadata it might have.
-