pub struct ExtensionAttributeValue { /* private fields */ }Expand description
A single extension attribute with its value and metadata.
Extension attributes are defined by custom schemas and can contain any valid SCIM attribute type. They maintain a reference to their schema definition for validation purposes.
Implementations§
Source§impl ExtensionAttributeValue
impl ExtensionAttributeValue
Sourcepub fn new(
schema_uri: SchemaUri,
attribute_name: String,
value: Value,
definition: Option<AttributeDefinition>,
) -> ValidationResult<Self>
pub fn new( schema_uri: SchemaUri, attribute_name: String, value: Value, definition: Option<AttributeDefinition>, ) -> ValidationResult<Self>
Create a new extension attribute value.
Sourcepub fn new_unchecked(
schema_uri: SchemaUri,
attribute_name: String,
value: Value,
) -> Self
pub fn new_unchecked( schema_uri: SchemaUri, attribute_name: String, value: Value, ) -> Self
Create an extension attribute without immediate validation.
This is useful when the schema definition is not available at construction time but will be provided later for validation.
Sourcepub fn with_definition(
self,
definition: AttributeDefinition,
) -> ValidationResult<Self>
pub fn with_definition( self, definition: AttributeDefinition, ) -> ValidationResult<Self>
Set the schema definition for this extension attribute.
Sourcepub fn schema_uri(&self) -> &SchemaUri
pub fn schema_uri(&self) -> &SchemaUri
Get the schema URI for this extension.
Sourcepub fn attribute_name(&self) -> &str
pub fn attribute_name(&self) -> &str
Get the attribute name.
Sourcepub fn definition(&self) -> Option<&AttributeDefinition>
pub fn definition(&self) -> Option<&AttributeDefinition>
Get the schema definition if available.
Sourcepub fn extension_namespace(&self) -> String
pub fn extension_namespace(&self) -> String
Extract the extension namespace from the schema URI.
Trait Implementations§
Source§impl Clone for ExtensionAttributeValue
impl Clone for ExtensionAttributeValue
Source§fn clone(&self) -> ExtensionAttributeValue
fn clone(&self) -> ExtensionAttributeValue
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExtensionAttributeValue
impl Debug for ExtensionAttributeValue
Source§impl<'de> Deserialize<'de> for ExtensionAttributeValue
impl<'de> Deserialize<'de> for ExtensionAttributeValue
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl ExtensionAttribute for ExtensionAttributeValue
impl ExtensionAttribute for ExtensionAttributeValue
Source§fn schema_uri(&self) -> &str
fn schema_uri(&self) -> &str
Get the schema URI that defines this extension attribute
Source§fn extension_namespace(&self) -> &str
fn extension_namespace(&self) -> &str
Get the extension namespace (usually derived from schema URI)
Source§fn validate_extension_rules(&self) -> ValidationResult<()>
fn validate_extension_rules(&self) -> ValidationResult<()>
Validate against extension-specific rules
Source§impl Serialize for ExtensionAttributeValue
impl Serialize for ExtensionAttributeValue
Source§impl ValueObject for ExtensionAttributeValue
impl ValueObject for ExtensionAttributeValue
Source§fn attribute_type(&self) -> AttributeType
fn attribute_type(&self) -> AttributeType
Get the SCIM attribute type this value object represents
Source§fn attribute_name(&self) -> &str
fn attribute_name(&self) -> &str
Get the schema attribute name this value object corresponds to
Source§fn to_json(&self) -> ValidationResult<Value>
fn to_json(&self) -> ValidationResult<Value>
Serialize the value object to JSON
Source§fn validate_against_schema(
&self,
definition: &AttributeDefinition,
) -> ValidationResult<()>
fn validate_against_schema( &self, definition: &AttributeDefinition, ) -> ValidationResult<()>
Validate the value object against a schema definition
Source§fn as_json_value(&self) -> Value
fn as_json_value(&self) -> Value
Get the raw value as a JSON Value for schema-agnostic operations
Source§fn supports_definition(&self, definition: &AttributeDefinition) -> bool
fn supports_definition(&self, definition: &AttributeDefinition) -> bool
Check if this value object supports the given attribute definition
Source§fn clone_boxed(&self) -> Box<dyn ValueObject>
fn clone_boxed(&self) -> Box<dyn ValueObject>
Clone the value object as a boxed trait object
Auto Trait Implementations§
impl Freeze for ExtensionAttributeValue
impl RefUnwindSafe for ExtensionAttributeValue
impl Send for ExtensionAttributeValue
impl Sync for ExtensionAttributeValue
impl Unpin for ExtensionAttributeValue
impl UnwindSafe for ExtensionAttributeValue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> TenantValidator for T
impl<T> TenantValidator for T
Source§fn validate_tenant_context(
&self,
expected_tenant_id: &str,
context: &RequestContext,
) -> Result<(), String>
fn validate_tenant_context( &self, expected_tenant_id: &str, context: &RequestContext, ) -> Result<(), String>
Validate that the context has the expected tenant.
Source§fn validate_single_tenant_context(
&self,
context: &RequestContext,
) -> Result<(), String>
fn validate_single_tenant_context( &self, context: &RequestContext, ) -> Result<(), String>
Validate that the context is for single-tenant operation.
Source§fn require_tenant_context(&self, context: &RequestContext) -> Result<(), String>
fn require_tenant_context(&self, context: &RequestContext) -> Result<(), String>
Extract tenant context or return error for multi-tenant operations.